/* Bold Types card popup V.26.08.15.06 — clean purchase-first component */
.bt-purchase-modal,
.bt-purchase-modal *{box-sizing:border-box}
.bt-purchase-modal{overflow:hidden!important;background:#fff!important}
.bt-purchase-modal .modal-panel{min-width:0!important;background:#fff!important}
.bt-purchase-modal .modal-copy{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:.55rem!important;padding:clamp(22px,2.1vw,34px)!important;overflow:auto!important}
.bt-purchase-modal #modalStatus{margin:0!important;color:#716a62!important;font-size:.66rem!important}
.bt-purchase-modal #modalTitle{margin:0!important;color:#111!important;text-shadow:none!important;font:950 clamp(1.45rem,2.2vw,2.2rem)/1.03 Montserrat,system-ui,sans-serif!important;letter-spacing:-.03em!important}
.bt-purchase-modal .modal-quick-facts{display:grid!important;grid-template-columns:auto 1fr!important;grid-template-areas:"price delivery" "size size"!important;align-items:baseline!important;justify-content:start!important;column-gap:10px!important;row-gap:4px!important;margin:.1rem 0 .35rem!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
.bt-purchase-modal .modal-quick-facts strong{grid-area:price;font:950 1.15rem/1 Montserrat,system-ui,sans-serif!important}
.bt-purchase-modal .modal-quick-facts span{grid-area:delivery;font:750 .78rem/1.2 Montserrat,system-ui,sans-serif!important}
.bt-purchase-modal .modal-quick-facts small{grid-area:size;color:#665f58;font:650 .69rem/1.2 Montserrat,system-ui,sans-serif!important}

.bt-purchase-modal .modal-actions{position:static!important;display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"heading" "primary" "blank" "ecard"!important;gap:8px!important;width:100%!important;margin:0 0 .35rem!important;padding:13px!important;border:1.5px solid #ddd6cd!important;border-radius:16px!important;background:#fffdf8!important;box-shadow:none!important;overflow:visible!important}
.bt-purchase-modal .modal-action-heading{grid-area:heading!important;padding:0 2px 2px!important}
.bt-purchase-modal .modal-action-heading strong{font:900 .9rem/1.15 Montserrat,system-ui,sans-serif!important}
.bt-purchase-modal .modal-purchase-row{appearance:none!important;-webkit-appearance:none!important;position:relative!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) 28px!important;align-items:center!important;gap:11px!important;width:100%!important;min-width:0!important;min-height:62px!important;margin:0!important;padding:10px 12px!important;border:1.5px solid #d7d2cc!important;border-radius:12px!important;background:#fff!important;color:#111!important;clip-path:none!important;transform:none!important;translate:none!important;rotate:none!important;box-shadow:none!important;text-align:left!important;text-decoration:none!important;font-family:Montserrat,system-ui,sans-serif!important;cursor:pointer!important;overflow:hidden!important}
.bt-purchase-modal .modal-purchase-row::before,.bt-purchase-modal .modal-purchase-row::after{content:none!important;display:none!important}
.bt-purchase-modal #modalAction{grid-area:primary!important;background:#ffd83d!important;border-color:#ffd83d!important}
.bt-purchase-modal #modalBlankAction{grid-area:blank!important}
.bt-purchase-modal #modalEcardAction{grid-area:ecard!important;border-color:#111!important}
.bt-purchase-modal .modal-purchase-row:hover,.bt-purchase-modal .modal-purchase-row:focus-visible{transform:translateY(-1px)!important;box-shadow:0 3px 0 rgba(17,17,17,.12)!important;outline:3px solid rgba(17,17,17,.18)!important;outline-offset:1px!important}
.bt-purchase-modal #modalAction:hover,.bt-purchase-modal #modalAction:focus-visible{background:#ffcf24!important}
.bt-purchase-modal .modal-purchase-icon{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;border:1.5px solid #111!important;border-radius:50%!important;background:#fff!important;color:#111!important}
.bt-purchase-modal .modal-purchase-icon svg{display:block!important;width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.bt-purchase-modal .modal-purchase-icon-lightning svg{fill:#ffd12a!important;stroke:#111!important;stroke-width:1.5!important}
.bt-purchase-modal .modal-purchase-copy{display:block!important;min-width:0!important}
.bt-purchase-modal .modal-purchase-copy strong{display:block!important;margin:0!important;color:#111!important;font:900 .85rem/1.08 Montserrat,system-ui,sans-serif!important;text-transform:none!important}
.bt-purchase-modal .modal-purchase-copy small{display:block!important;margin:3px 0 0!important;color:#57514b!important;font:650 .67rem/1.2 Montserrat,system-ui,sans-serif!important;text-transform:none!important}
.bt-purchase-modal .modal-purchase-arrow{position:static!important;display:block!important;align-self:center!important;justify-self:end!important;color:#111!important;font:500 1.5rem/1 Arial,sans-serif!important;transform:none!important}

.bt-purchase-modal #modalDescription{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;margin:.35rem 0 .2rem!important;color:#26231f!important;font-size:.79rem!important;line-height:1.45!important;order:initial!important}
.bt-purchase-modal .modal-more-info{display:grid!important;gap:0!important;margin:0!important;border:1px solid #ded9d2!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important;order:initial!important}
.bt-purchase-modal .modal-more-info details{margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid #e7e2dc!important;border-radius:0!important;background:#fff!important}
.bt-purchase-modal .modal-more-info details:last-child{border-bottom:0!important}
.bt-purchase-modal .modal-more-info summary{display:flex!important;align-items:center!important;min-height:44px!important;padding:10px 12px!important;cursor:pointer!important;font:850 .74rem/1.2 Montserrat,system-ui,sans-serif!important}
.bt-purchase-modal .modal-more-info details p{margin:0!important;padding:0 12px 12px!important;font-size:.7rem!important;line-height:1.45!important;color:#4c4742!important}
.bt-purchase-modal .modal-product-summary,.bt-purchase-modal #modalProductMeta,.bt-purchase-modal #modalTrustLine,.bt-purchase-modal #modalTags{display:none!important}

.bt-purchase-modal .modal-art{position:relative!important}
.bt-purchase-modal .modal-art-tools{position:absolute!important;left:16px!important;right:16px!important;bottom:14px!important;z-index:12!important;display:flex!important;align-items:center!important;justify-content:space-between!important;pointer-events:none!important}
.bt-purchase-modal .modal-art-tools>*{pointer-events:auto!important}
.bt-purchase-modal .modal-share-action,.bt-purchase-modal .modal-fullscreen-artwork{clip-path:none!important;transform:none!important;box-shadow:0 2px 8px rgba(17,17,17,.12)!important}
.bt-purchase-modal .modal-share-action{display:flex!important;align-items:center!important;gap:7px!important;min-height:40px!important;padding:7px 12px!important;border:1.5px solid #111!important;border-radius:999px!important;background:rgba(255,255,255,.97)!important;color:#111!important;font:850 .7rem/1 Montserrat,system-ui,sans-serif!important}
.bt-purchase-modal .modal-fullscreen-artwork{position:static!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;margin:0!important;padding:0!important;border:1.5px solid #111!important;border-radius:50%!important;background:rgba(255,255,255,.97)!important;color:#111!important;font-size:1.15rem!important}
.bt-purchase-modal .modal-view-controls{position:absolute!important;top:14px!important;left:50%!important;z-index:13!important;display:flex!important;transform:translateX(-50%)!important;padding:3px!important;border:1px solid #d6d1ca!important;border-radius:999px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 2px 10px rgba(17,17,17,.1)!important}
.bt-purchase-modal .modal-view-controls button{min-width:74px!important;min-height:36px!important;padding:6px 14px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#111!important;font:900 .72rem/1 Montserrat,system-ui,sans-serif!important;cursor:pointer!important}
.bt-purchase-modal .modal-view-controls button[aria-pressed="true"]{background:#ffd83d!important;box-shadow:inset 0 0 0 1.5px #111!important}

@media(max-width:760px){
  .detail-modal:has(.bt-purchase-modal){padding:0!important}
  .bt-purchase-modal{width:100%!important;height:100dvh!important;max-width:none!important;max-height:100dvh!important;border-radius:0!important;grid-template-columns:1fr!important;grid-template-rows:minmax(0,auto) minmax(0,1fr)!important;overflow-y:auto!important}
  .bt-purchase-modal .modal-art{grid-column:1!important;grid-row:1!important;min-height:0!important;height:auto!important;padding:10px 54px 14px!important;border-right:0!important;border-bottom:1px solid #ddd!important;background:#f7f7f7!important}
  .bt-purchase-modal .modal-artwork-frame{height:min(57vh,580px)!important;min-height:320px!important}
  .bt-purchase-modal .modal-art img{width:auto!important;max-width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important}
  .bt-purchase-modal .modal-panel{grid-column:1!important;grid-row:2!important;display:block!important;overflow:visible!important}
  .bt-purchase-modal .modal-copy{overflow:visible!important;gap:.48rem!important;padding:18px 20px max(24px,env(safe-area-inset-bottom))!important}
  .bt-purchase-modal #modalStatus{display:none!important}
  .bt-purchase-modal #modalTitle{font-size:clamp(1.32rem,6vw,1.7rem)!important;line-height:1.02!important}
  .bt-purchase-modal .modal-quick-facts strong{font-size:1.12rem!important}
  .bt-purchase-modal .modal-quick-facts span{font-size:.72rem!important}
  .bt-purchase-modal .modal-quick-facts small{font-size:.65rem!important}
  .bt-purchase-modal .modal-actions{grid-template-columns:1fr!important;grid-template-areas:"heading" "primary" "blank" "ecard"!important;gap:7px!important;padding:11px!important;border-radius:14px!important}
  .bt-purchase-modal .modal-purchase-row{grid-template-columns:36px minmax(0,1fr) 24px!important;min-height:58px!important;padding:9px 10px!important;border-radius:11px!important}
  .bt-purchase-modal .modal-purchase-copy strong{font-size:.79rem!important}
  .bt-purchase-modal .modal-purchase-copy small{font-size:.62rem!important}
  .bt-purchase-modal #modalDescription{-webkit-line-clamp:3!important;font-size:.74rem!important}
  .bt-purchase-modal .modal-art-tools{left:14px!important;right:14px!important;bottom:12px!important}
  .bt-purchase-modal .modal-share-action{min-height:38px!important;padding:6px 10px!important;font-size:.66rem!important}
  .bt-purchase-modal .modal-fullscreen-artwork{width:40px!important;height:40px!important}
  .bt-purchase-modal .modal-view-controls{top:12px!important}
  .bt-purchase-modal .modal-view-controls button{min-width:64px!important;min-height:34px!important;padding:5px 12px!important;font-size:.67rem!important}
  .bt-purchase-modal .modal-step{top:34vh!important}
}
@media(max-width:390px){
  .bt-purchase-modal .modal-art{padding-left:48px!important;padding-right:48px!important}
  .bt-purchase-modal .modal-artwork-frame{height:min(54vh,520px)!important;min-height:295px!important}
  .bt-purchase-modal .modal-copy{padding-left:16px!important;padding-right:16px!important}
  .bt-purchase-modal .modal-purchase-row{grid-template-columns:34px minmax(0,1fr) 22px!important;gap:9px!important}
}

/* V.26.08.15.07 — sizing repair: contain artwork and keep purchase/details visible */
.bt-purchase-modal{
  max-height:min(860px,92dvh)!important;
}
.bt-purchase-modal .modal-panel{
  min-height:0!important;
  overflow:hidden!important;
}
.bt-purchase-modal .modal-copy{
  min-height:0!important;
  gap:.38rem!important;
  padding:clamp(16px,1.55vw,24px)!important;
  overflow-y:auto!important;
  scrollbar-gutter:stable;
}
.bt-purchase-modal #modalTitle{
  font-size:clamp(1.22rem,1.65vw,1.72rem)!important;
  line-height:1.02!important;
}
.bt-purchase-modal .modal-quick-facts{
  column-gap:8px!important;
  row-gap:2px!important;
  margin:0 0 .18rem!important;
}
.bt-purchase-modal .modal-quick-facts strong{font-size:1rem!important}
.bt-purchase-modal .modal-quick-facts span{font-size:.7rem!important}
.bt-purchase-modal .modal-quick-facts small{font-size:.61rem!important}

.bt-purchase-modal .modal-actions{
  gap:5px!important;
  margin:0 0 .18rem!important;
  padding:9px!important;
  border-radius:13px!important;
}
.bt-purchase-modal .modal-action-heading{padding:0 2px 1px!important}
.bt-purchase-modal .modal-action-heading strong{font-size:.78rem!important}
.bt-purchase-modal .modal-purchase-row{
  grid-template-columns:32px minmax(0,1fr) 22px!important;
  gap:8px!important;
  min-height:50px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
}
.bt-purchase-modal .modal-purchase-icon{
  width:30px!important;
  height:30px!important;
}
.bt-purchase-modal .modal-purchase-icon svg{
  width:16px!important;
  height:16px!important;
}
.bt-purchase-modal .modal-purchase-copy strong{font-size:.75rem!important}
.bt-purchase-modal .modal-purchase-copy small{
  margin-top:1px!important;
  font-size:.58rem!important;
  line-height:1.15!important;
}
.bt-purchase-modal .modal-purchase-arrow{font-size:1.2rem!important}

.bt-purchase-modal #modalDescription{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  margin:.18rem 0 0!important;
  font-size:.69rem!important;
  line-height:1.35!important;
}
.bt-purchase-modal #modalDescription.is-expanded{
  display:block!important;
  -webkit-line-clamp:unset!important;
  overflow:visible!important;
}
.bt-purchase-modal .modal-description-toggle{
  align-self:flex-start!important;
  margin:-.1rem 0 .12rem!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#111!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
  font:850 .62rem/1.2 Montserrat,system-ui,sans-serif!important;
  cursor:pointer!important;
}
.bt-purchase-modal .modal-more-info summary{
  min-height:36px!important;
  padding:8px 10px!important;
  font-size:.68rem!important;
}
.bt-purchase-modal .modal-more-info details p{
  padding:0 10px 9px!important;
  font-size:.64rem!important;
}

/* Keep the artwork visually central but physically inside its own half. */
.bt-purchase-modal .modal-art{
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
.bt-purchase-modal .modal-artwork-frame{
  display:grid!important;
  place-items:center!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
}
.bt-purchase-modal .modal-artwork-frame img,
.bt-purchase-modal .modal-art img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:min(68dvh,650px)!important;
  object-fit:contain!important;
}

/* Desktop: make sure title, three actions and all accordion headers fit without
   requiring the customer to scroll before seeing the available information. */
@media(min-width:761px){
  .bt-purchase-modal{
    grid-template-columns:minmax(340px,1.05fr) minmax(360px,.95fr)!important;
  }
  .bt-purchase-modal .modal-art{
    padding:clamp(18px,2vw,30px)!important;
  }
  .bt-purchase-modal .modal-artwork-frame img,
  .bt-purchase-modal .modal-art img{
    max-height:min(72dvh,650px)!important;
  }
}

/* Mobile: the image gets a bounded viewer. It can never bleed into title/actions. */
@media(max-width:760px){
  .bt-purchase-modal{
    height:100dvh!important;
    max-height:100dvh!important;
    grid-template-rows:auto auto!important;
    overflow-y:auto!important;
  }
  .bt-purchase-modal .modal-art{
    height:auto!important;
    min-height:0!important;
    max-height:58dvh!important;
    padding:10px 52px 12px!important;
    overflow:hidden!important;
  }
  .bt-purchase-modal .modal-artwork-frame{
    width:100%!important;
    height:clamp(300px,52dvh,500px)!important;
    max-height:52dvh!important;
    overflow:hidden!important;
  }
  .bt-purchase-modal .modal-artwork-frame img,
  .bt-purchase-modal .modal-art img{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
  }
  .bt-purchase-modal .modal-copy{
    gap:.34rem!important;
    padding:13px 14px max(18px,env(safe-area-inset-bottom))!important;
  }
  .bt-purchase-modal #modalTitle{
    font-size:clamp(1.05rem,5.2vw,1.38rem)!important;
  }
  .bt-purchase-modal .modal-actions{
    gap:5px!important;
    padding:8px!important;
  }
  .bt-purchase-modal .modal-purchase-row{
    grid-template-columns:31px minmax(0,1fr) 21px!important;
    min-height:49px!important;
    padding:7px 8px!important;
  }
  .bt-purchase-modal .modal-purchase-copy strong{font-size:.73rem!important}
  .bt-purchase-modal .modal-purchase-copy small{font-size:.56rem!important}
  .bt-purchase-modal #modalDescription{
    -webkit-line-clamp:2!important;
    font-size:.67rem!important;
  }
  .bt-purchase-modal #modalDescription.is-expanded{
    display:block!important;
    -webkit-line-clamp:unset!important;
  }
  .bt-purchase-modal .modal-step{
    top:min(31dvh,300px)!important;
  }
}
@media(max-width:390px){
  .bt-purchase-modal .modal-art{
    max-height:54dvh!important;
    padding-left:46px!important;
    padding-right:46px!important;
  }
  .bt-purchase-modal .modal-artwork-frame{
    height:clamp(270px,48dvh,440px)!important;
    max-height:48dvh!important;
  }
}

/* V.26.08.15.08 — final popup tidy:
   hard description clamp, clean See more placement, shorter actions/details,
   and a slightly shallower mobile artwork viewer. */
.bt-purchase-modal #modalDescription{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  max-height:calc(1.35em * 2)!important;
  overflow:hidden!important;
  margin:.14rem 0 0!important;
}
.bt-purchase-modal #modalDescription.is-expanded{
  display:block!important;
  max-height:none!important;
  overflow:visible!important;
}
.bt-purchase-modal .modal-description-toggle{
  position:static!important;
  display:inline-flex!important;
  align-self:flex-start!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0 0 .28rem!important;
  padding:0!important;
  line-height:1.15!important;
  transform:none!important;
  box-shadow:none!important;
}
.bt-purchase-modal .modal-description-toggle[hidden]{
  display:none!important;
}
.bt-purchase-modal .modal-more-info{
  margin-top:.05rem!important;
  flex:0 0 auto!important;
}
.bt-purchase-modal .modal-more-info summary{
  min-height:32px!important;
  padding:6px 10px!important;
  font-size:.64rem!important;
}
.bt-purchase-modal .modal-more-info details p{
  padding:0 10px 8px!important;
  font-size:.62rem!important;
}

.bt-purchase-modal #modalTitle{
  font-size:clamp(1.12rem,1.5vw,1.55rem)!important;
}
.bt-purchase-modal .modal-actions{
  padding:8px!important;
  gap:4px!important;
}
.bt-purchase-modal .modal-action-heading strong{
  font-size:.73rem!important;
}
.bt-purchase-modal .modal-purchase-row{
  min-height:46px!important;
  padding:6px 8px!important;
}
.bt-purchase-modal .modal-purchase-icon{
  width:28px!important;
  height:28px!important;
}
.bt-purchase-modal .modal-purchase-icon svg{
  width:15px!important;
  height:15px!important;
}
.bt-purchase-modal .modal-purchase-copy strong{
  font-size:.71rem!important;
}
.bt-purchase-modal .modal-purchase-copy small{
  font-size:.55rem!important;
}
.bt-purchase-modal .modal-copy{
  padding-bottom:14px!important;
}

@media(min-width:761px){
  .bt-purchase-modal .modal-copy{
    gap:.3rem!important;
    padding:16px 20px 14px!important;
  }
  .bt-purchase-modal #modalDescription{
    font-size:.66rem!important;
    line-height:1.32!important;
    max-height:calc(1.32em * 2)!important;
  }
}

@media(max-width:760px){
  .bt-purchase-modal .modal-art{
    max-height:50dvh!important;
    padding-top:8px!important;
    padding-bottom:10px!important;
  }
  .bt-purchase-modal .modal-artwork-frame{
    height:clamp(270px,46dvh,450px)!important;
    max-height:46dvh!important;
  }
  .bt-purchase-modal .modal-copy{
    gap:.28rem!important;
    padding:11px 13px max(16px,env(safe-area-inset-bottom))!important;
  }
  .bt-purchase-modal #modalTitle{
    font-size:clamp(.98rem,4.8vw,1.25rem)!important;
  }
  .bt-purchase-modal .modal-purchase-row{
    min-height:46px!important;
    padding:6px 8px!important;
  }
  .bt-purchase-modal #modalDescription{
    font-size:.64rem!important;
    line-height:1.32!important;
    max-height:calc(1.32em * 2)!important;
  }
  .bt-purchase-modal .modal-description-toggle{
    margin-bottom:.22rem!important;
    font-size:.59rem!important;
  }
  .bt-purchase-modal .modal-more-info summary{
    min-height:34px!important;
    padding:7px 10px!important;
  }
}
@media(max-width:390px){
  .bt-purchase-modal .modal-art{
    max-height:48dvh!important;
  }
  .bt-purchase-modal .modal-artwork-frame{
    height:clamp(250px,44dvh,410px)!important;
    max-height:44dvh!important;
  }
}

/* V.26.08.15.09 — final modal geometry.
   The teaser is always exactly two lines. Full copy lives in Card details.
   No floating/expanding description control remains. */
.bt-purchase-modal .modal-description-toggle{
  display:none!important;
}

.bt-purchase-modal #modalDescription{
  display:block!important;
  position:relative!important;
  height:2.66em!important;
  min-height:2.66em!important;
  max-height:2.66em!important;
  margin:.12rem 0 .22rem!important;
  padding:0!important;
  overflow:hidden!important;
  font-size:.64rem!important;
  line-height:1.33!important;
}
.bt-purchase-modal #modalDescription::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:.9em;
  background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 75%);
  pointer-events:none;
}

.bt-purchase-modal .modal-copy{
  gap:.26rem!important;
}
.bt-purchase-modal #modalTitle{
  font-size:clamp(1.06rem,1.42vw,1.48rem)!important;
  line-height:1.01!important;
}
.bt-purchase-modal .modal-quick-facts{
  margin:0 0 .12rem!important;
}
.bt-purchase-modal .modal-actions{
  gap:4px!important;
  margin:0 0 .16rem!important;
  padding:7px!important;
}
.bt-purchase-modal .modal-action-heading{
  padding:0 2px!important;
}
.bt-purchase-modal .modal-action-heading strong{
  font-size:.7rem!important;
}
.bt-purchase-modal .modal-purchase-row{
  min-height:44px!important;
  grid-template-columns:27px minmax(0,1fr) 18px!important;
  gap:7px!important;
  padding:5px 8px!important;
}
.bt-purchase-modal .modal-purchase-icon{
  width:27px!important;
  height:27px!important;
}
.bt-purchase-modal .modal-purchase-icon svg{
  width:14px!important;
  height:14px!important;
}
.bt-purchase-modal .modal-purchase-copy strong{
  font-size:.68rem!important;
}
.bt-purchase-modal .modal-purchase-copy small{
  margin-top:1px!important;
  font-size:.53rem!important;
}
.bt-purchase-modal .modal-purchase-arrow{
  font-size:1.08rem!important;
}
.bt-purchase-modal .modal-more-info{
  margin-top:0!important;
}
.bt-purchase-modal .modal-more-info summary{
  min-height:30px!important;
  padding:5px 9px!important;
  font-size:.62rem!important;
}
.bt-purchase-modal .modal-more-info details p{
  padding:0 9px 8px!important;
  font-size:.6rem!important;
  line-height:1.38!important;
}

/* Desktop: keep the whole decision stack visible and always start at the top. */
@media(min-width:761px){
  .bt-purchase-modal .modal-copy{
    gap:.24rem!important;
    padding:14px 18px 12px!important;
  }
  .bt-purchase-modal #modalDescription{
    height:2.58em!important;
    min-height:2.58em!important;
    max-height:2.58em!important;
    font-size:.62rem!important;
    line-height:1.29!important;
  }
}

/* Mobile: show the whole card within a bounded viewer, never a zoomed crop. */
@media(max-width:760px){
  .bt-purchase-modal .modal-art{
    max-height:46dvh!important;
    padding:8px 48px 10px!important;
  }
  .bt-purchase-modal .modal-artwork-frame{
    height:min(42dvh,410px)!important;
    min-height:0!important;
    max-height:42dvh!important;
    overflow:hidden!important;
  }
  .bt-purchase-modal .modal-artwork-frame img,
  .bt-purchase-modal .modal-art img{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
  }
  .bt-purchase-modal .modal-copy{
    gap:.23rem!important;
    padding:10px 12px max(15px,env(safe-area-inset-bottom))!important;
  }
  .bt-purchase-modal #modalTitle{
    font-size:clamp(.94rem,4.45vw,1.16rem)!important;
  }
  .bt-purchase-modal .modal-quick-facts strong{
    font-size:.94rem!important;
  }
  .bt-purchase-modal .modal-quick-facts span{
    font-size:.65rem!important;
  }
  .bt-purchase-modal .modal-quick-facts small{
    font-size:.58rem!important;
  }
  .bt-purchase-modal .modal-actions{
    padding:7px!important;
  }
  .bt-purchase-modal .modal-purchase-row{
    min-height:44px!important;
  }
  .bt-purchase-modal #modalDescription{
    height:2.6em!important;
    min-height:2.6em!important;
    max-height:2.6em!important;
    font-size:.62rem!important;
    line-height:1.3!important;
    margin-bottom:.18rem!important;
  }
  .bt-purchase-modal .modal-more-info summary{
    min-height:32px!important;
    padding:6px 9px!important;
  }
  .bt-purchase-modal .modal-step{
    top:min(24dvh,220px)!important;
  }
}
@media(max-width:390px){
  .bt-purchase-modal .modal-art{
    max-height:44dvh!important;
    padding-left:44px!important;
    padding-right:44px!important;
  }
  .bt-purchase-modal .modal-artwork-frame{
    height:min(40dvh,380px)!important;
    max-height:40dvh!important;
  }
}

/* V.26.08.15.17 — one card modal, two states.
   Choosing eCard transforms the purchase panel in place instead of navigating
   to a second editor page. */

/* Narrative/details must remain in normal flow in the standard purchase state. */
.bt-purchase-modal #modalDescription{
  display:block!important;
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  margin:.35rem 0 .8rem!important;
  padding:0!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
}
.bt-purchase-modal #modalDescription::after{content:none!important;display:none!important}
.bt-purchase-modal .modal-more-info{
  position:relative!important;
  inset:auto!important;
  clear:both!important;
  flex:0 0 auto!important;
  width:100%!important;
  margin:.1rem 0 0!important;
}

/* Hidden really means hidden even when older modal rules set display:grid. */
.bt-purchase-modal [hidden]{display:none!important}

/* V.26.08.15.21 — eCard editor replaces the purchase-choice contents in situ.
   No separate hidden sibling panel, so the customer always sees the new state. */
.bt-purchase-modal .modal-actions.is-ecard-editor{
  display:block!important;
  padding:11px!important;
  background:#fffdf8!important;
}
.bt-purchase-modal .modal-ecard-inline{
  display:grid!important;
  gap:9px!important;
  width:100%!important;
}
.bt-purchase-modal .modal-ecard-inline-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.bt-purchase-modal .modal-ecard-inline-head>strong{
  font:900 .78rem/1.15 Montserrat,system-ui,sans-serif!important;
}
.bt-purchase-modal .modal-ecard-back{
  padding:4px 0!important;
  border:0!important;
  background:transparent!important;
  color:#111!important;
  font:800 .65rem/1.2 Montserrat,system-ui,sans-serif!important;
  cursor:pointer!important;
}
.bt-purchase-modal .modal-ecard-message-wrap{
  position:relative!important;
}
.bt-purchase-modal #modalEcardMessage{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  min-height:106px!important;
  max-height:200px!important;
  padding:12px 12px 29px!important;
  border:1.5px solid #cfc9c1!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#111!important;
  resize:vertical!important;
  font:650 .74rem/1.4 Montserrat,system-ui,sans-serif!important;
}
.bt-purchase-modal #modalEcardCount{
  position:absolute!important;
  right:11px!important;
  bottom:8px!important;
  color:#6b645d!important;
  font:800 .6rem/1 Montserrat,system-ui,sans-serif!important;
  pointer-events:none!important;
}
.bt-purchase-modal .modal-ecard-note{
  display:flex!important;
  gap:7px!important;
  margin:0!important;
  color:#49433d!important;
  font-size:.63rem!important;
  line-height:1.35!important;
}
.bt-purchase-modal .modal-ecard-add{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) 20px!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:49px!important;
  padding:8px 10px!important;
  border:1.5px solid #111!important;
  border-radius:12px!important;
  background:#ffd83d!important;
  box-shadow:3px 3px 0 #111!important;
  color:#111!important;
  font:900 .76rem/1.1 Montserrat,system-ui,sans-serif!important;
  cursor:pointer!important;
}
.bt-purchase-modal .modal-ecard-add strong{text-align:center!important}
.bt-purchase-modal .modal-ecard-info-button{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) 18px!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:40px!important;
  padding:7px 9px!important;
  border:1px solid #d8d2ca!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#111!important;
  text-align:left!important;
  cursor:pointer!important;
}
.bt-purchase-modal .modal-ecard-info-button strong{
  font:850 .66rem/1.2 Montserrat,system-ui,sans-serif!important;
}
.bt-purchase-modal .modal-ecard-info-panel{
  padding:0 9px 2px!important;
  color:#4c4742!important;
  font-size:.61rem!important;
  line-height:1.4!important;
}
.bt-purchase-modal .modal-ecard-info-panel p{
  margin:.4rem 0!important;
}
.bt-purchase-modal.is-ecard-mode #modalViewControls{
  display:none!important;
}

@media(max-width:760px){
  .bt-purchase-modal .modal-actions.is-ecard-editor{
    padding:9px!important;
  }
  .bt-purchase-modal #modalEcardMessage{
    min-height:92px!important;
    max-height:170px!important;
  }
}

/* V.26.08.15.32 — deterministic mobile glass layer.
   Previous attempts used pseudo-elements/background variables. Replace them
   with a real <img> layer so no parent/background can silently hide it. */
@media(max-width:760px){
  /* Neutralise all earlier pseudo glass experiments. */
  .bt-purchase-modal .modal-copy::before,
  .bt-purchase-modal .modal-copy::after{
    display:none!important;
    content:none!important;
  }

  .bt-purchase-modal .modal-panel{
    position:relative!important;
    background:#fff!important;
  }

  .bt-purchase-modal .modal-copy{
    position:relative!important;
    isolation:isolate!important;
    background:transparent!important;
    overflow:visible!important;
  }

  .bt-purchase-modal .modal-title-glass-backdrop{
    position:absolute!important;
    z-index:0!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:126px!important;
    overflow:hidden!important;
    pointer-events:none!important;
    background:#fff!important;
  }

  .bt-purchase-modal .modal-title-glass-backdrop img{
    position:absolute!important;
    inset:-10px!important;
    width:calc(100% + 20px)!important;
    height:calc(100% + 20px)!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center bottom!important;
    filter:blur(8px) saturate(112%)!important;
    opacity:.52!important;
    transform:scale(1.03)!important;
  }

  .bt-purchase-modal .modal-title-glass-backdrop span{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    background:linear-gradient(
      to bottom,
      rgba(255,255,255,.44) 0%,
      rgba(255,255,255,.56) 48%,
      rgba(255,255,255,.82) 82%,
      #fff 100%
    )!important;
  }

  /* Only title + price sit on the glass. */
  .bt-purchase-modal #modalTitle,
  .bt-purchase-modal .modal-quick-facts{
    position:relative!important;
    z-index:1!important;
    background:transparent!important;
  }

  /* All buying controls and narrative stay solid and above the glass. */
  .bt-purchase-modal .modal-actions,
  .bt-purchase-modal #modalDescription,
  .bt-purchase-modal .modal-more-info{
    position:relative!important;
    z-index:2!important;
  }
  .bt-purchase-modal .modal-actions{background:#fffdf8!important}
  .bt-purchase-modal #modalDescription,
  .bt-purchase-modal .modal-more-info{background:#fff!important}
}

@media(max-width:390px){
  .bt-purchase-modal .modal-title-glass-backdrop{
    height:118px!important;
  }
}

/* V.26.08.17.37 — desktop duplicate artwork fix.
   The frosted-glass artwork layer is mobile-only. Without this base rule its
   injected <img> renders normally on desktop and pushes the purchase controls away. */
.bt-purchase-modal .modal-title-glass-backdrop{
  display:none!important;
}
@media(max-width:760px){
  .bt-purchase-modal .modal-title-glass-backdrop{
    display:block!important;
  }
}
