/* v0.9.68: final visual overrides loaded after app.css. */
html #app .apb-royal-animated-title{
  font-size:clamp(42px,11vw,66px)!important;
  line-height:1.02!important;
  overflow:visible!important;
}

/* v0.9.67 final polish: landing title, round gift, smaller crowns, brand pink checks. */
html #app .apb-royal-animated-title{
  text-align:center!important;
  transform:translateY(-5px)!important;
}

html #app .apb-royal-animated-title .apb-hero-static,
html #app .apb-royal-animated-title .apb-hero-words{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

html #app .apb-gift-price,
html #app.apb-price-free-mode .apb-mobile-price .apb-gift-price{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  max-width:56px!important;
  max-height:56px!important;
  border-radius:50%!important;
  aspect-ratio:1/1!important;
}

html #app .apb-quality .apb-quality-crown-wrap{
  width:31px!important;
  height:31px!important;
  min-width:31px!important;
  max-width:31px!important;
  min-height:31px!important;
  max-height:31px!important;
  padding:5px!important;
  border-radius:50%!important;
  aspect-ratio:1/1!important;
}

html #app .apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon,
html #app .apb-quality img.apb-quality-crown-icon{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  min-height:20px!important;
  max-height:20px!important;
}

html #app .apb-final-benefits li i,
html #app .apb-final-offer-list small::first-letter{
  color:#c23a9b!important;
}

html #app .apb-final-benefits li i{
  background:linear-gradient(135deg,#f01894,#7b3cff)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}

html #app .apb-royal-animated-title .apb-hero-static{
  display:block!important;
  line-height:1!important;
}

html #app .apb-royal-animated-title .apb-hero-words{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:min(92vw,680px)!important;
  height:52px!important;
  min-height:52px!important;
  margin-top:6px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  font-size:clamp(27px,7vw,44px)!important;
  line-height:1.12!important;
}

html #app .apb-royal-animated-title .apb-hero-words span{
  position:absolute!important;
  left:0!important;
  top:0!important;
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  width:0;
  opacity:0;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  animation:apbHeroOneLineTypeFinal 16s steps(24,end) infinite!important;
}

html #app .apb-royal-animated-title .apb-hero-words span:nth-child(1){animation-delay:0s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(2){animation-delay:4s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(3){animation-delay:8s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(4){animation-delay:12s!important;}

@keyframes apbHeroOneLineTypeFinal{
  0%{opacity:1;width:0;}
  3%{opacity:1;width:100%;}
  21%{opacity:1;width:100%;}
  25%{opacity:1;width:0;}
  25.1%,100%{opacity:0;width:0;}
}

html #app .apb-final-offers{
  grid-template-columns:3fr 2fr!important;
}

html #app .apb-final-offer{
  background:#fff!important;
}

html #app .apb-final-offer.active{
  border:2px solid #25d51d!important;
  box-shadow:0 4px 14px rgba(37,213,29,.16)!important;
  background:#fff!important;
}

html #app .apb-final-offer.active:after{
  content:none!important;
  display:none!important;
}

html #app .apb-free-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:5px!important;
  padding:3px 7px!important;
  border-radius:7px!important;
  background:#ffc928!important;
  color:#201a24!important;
  font:900 10px/1 Gilroy,Arial,sans-serif!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  vertical-align:middle!important;
  box-shadow:0 2px 7px rgba(255,201,40,.36)!important;
}

html #app .apb-free-text{
  display:inline!important;
  margin-left:3px!important;
  color:#25b71d!important;
  font-style:normal!important;
  font-weight:900!important;
  text-transform:lowercase!important;
}

html #app.apb-price-free-mode .apb-old-price,
html #app.apb-price-free-mode .apb-sale-badge,
html #app.apb-price-free-mode #apb-side-old-price{
  display:none!important;
}

html #app .apb-mobile-price #apb-mobile-price-value .apb-free-badge,
html #app .apb-pricebox #apb-price .apb-free-badge{
  margin-left:0!important;
  padding:6px 13px!important;
  border-radius:10px!important;
  font-size:15px!important;
  line-height:1!important;
}

html #app .apb-gift-price{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:56px!important;
  height:48px!important;
  border:0!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,#ffd947 0%,#ffc421 58%,#ffb600 100%)!important;
  color:#201a24!important;
  font-size:28px!important;
  line-height:1!important;
  box-shadow:inset 0 2px 7px rgba(255,255,255,.68),inset 0 -8px 14px rgba(215,139,0,.16),0 4px 11px rgba(255,201,40,.24)!important;
  cursor:pointer!important;
  transform:translateY(0)!important;
  padding:0!important;
  text-align:center!important;
  overflow:visible!important;
}

html:not(.apb-gift-seen) #app .apb-gift-price{
  animation:apbGiftInnerGlow 1.75s ease-in-out infinite!important;
}

html:not(.apb-gift-seen) #app .apb-gift-price:after{
  content:none!important;
  display:none!important;
}

@keyframes apbGiftInnerGlow{
  0%,100%{
    transform:translateY(0) scale(1);
    box-shadow:inset 0 1px 4px rgba(255,255,255,.62),inset 0 -6px 10px rgba(215,139,0,.16),0 3px 8px rgba(255,201,40,.24);
    filter:brightness(1);
  }
  50%{
    transform:translateY(0) scale(1.018);
    box-shadow:inset 0 2px 9px rgba(255,255,255,.92),inset 0 0 14px rgba(255,255,255,.32),inset 0 -7px 12px rgba(210,135,0,.12),0 4px 10px rgba(255,201,40,.3);
    filter:brightness(1.08);
  }
}

html #app.apb-price-free-mode .apb-mobile-price{
  position:absolute!important;
  left:30px!important;
  top:17px!important;
  bottom:auto!important;
  height:50px!important;
  width:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  line-height:1!important;
  z-index:5!important;
}

html #app.apb-price-free-mode .apb-mobile-price strong{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  line-height:1!important;
}

html #app .apb-sale-badge{
  white-space:nowrap!important;
}

html #app .apb-sale-gift-plus{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  margin-left:4px!important;
  font-size:11px!important;
  line-height:1!important;
  vertical-align:middle!important;
  transform:translateY(-1px)!important;
}

html #app .apb-style-tabs{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:100%!important;
  max-width:calc(100vw - 20px)!important;
  margin:0 auto 10px!important;
  padding:0!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
}

/* v0.9.62: give category pills their own breathing room so canvas/cards don't clip them. */
html #app .apb-stage:has(.apb-style-grid) .apb-style-tabs{
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  padding:6px 10px!important;
  margin:2px auto 12px!important;
  overflow:visible!important;
  position:relative!important;
  z-index:7!important;
}

html #app .apb-stage:has(.apb-style-grid) .apb-style-tabs button{
  height:32px!important;
  min-height:32px!important;
  border-radius:999px!important;
}

@media(max-width:900px){
  html #app .apb-stage:has(.apb-style-grid) .apb-options-col{
    padding-top:12px!important;
    overflow:visible!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style-grid{
    margin-top:0!important;
  }
}

html #app .apb-style-tabs::-webkit-scrollbar{
  display:none!important;
}

html #app .apb-style-tabs button{
  flex:0 0 auto!important;
  height:30px!important;
  min-width:74px!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:999px!important;
  background:#d6cec3!important;
  color:#272030!important;
  font:900 13px/1 Gilroy,Arial,sans-serif!important;
  letter-spacing:-.15px!important;
  box-shadow:0 3px 8px rgba(36,24,46,.1)!important;
}

html #app .apb-style-tabs button:first-child{
  min-width:58px!important;
}

@media(max-width:380px){
  html #app .apb-style-tabs{
    gap:6px!important;
    max-width:100vw!important;
  }

  html #app .apb-style-tabs button{
    min-width:66px!important;
    height:29px!important;
    padding:0 11px!important;
    font-size:12px!important;
  }

  html #app .apb-style-tabs button:first-child{
    min-width:50px!important;
  }
}

html #app .apb-style-tabs button.active{
  background:#2f2358!important;
  color:#fff!important;
  box-shadow:0 6px 13px rgba(47,35,88,.25)!important;
}

@media(max-width:900px){
  html #app .apb-stage:has(.apb-style-grid) .apb-options-col{
    padding-top:16px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style-grid{
    margin-top:0!important;
  }
}

html #app .apb-final-gift-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:19px!important;
  height:19px!important;
  margin-left:5px!important;
  border-radius:6px!important;
  background:#ffc928!important;
  color:#201a24!important;
  font-size:13px!important;
  line-height:1!important;
  box-shadow:0 2px 7px rgba(255,201,40,.36)!important;
  vertical-align:middle!important;
  transform:translateY(-1px)!important;
}

html .apb-gift-tooltip{
  position:fixed!important;
  z-index:999999!important;
  padding:10px 13px!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#201828!important;
  font:800 13.5px/1.15 Gilroy,Arial,sans-serif!important;
  box-shadow:0 9px 28px rgba(40,24,35,.18)!important;
  border:1px solid rgba(203,65,151,.12)!important;
  opacity:0!important;
  transform:translateY(6px) scale(.96)!important;
  transition:opacity .18s ease,transform .18s ease!important;
  pointer-events:none!important;
  white-space:nowrap!important;
}

html .apb-gift-tooltip:after{
  content:""!important;
  position:absolute!important;
  left:var(--tip-tail-left,50%)!important;
  bottom:-7px!important;
  width:14px!important;
  height:14px!important;
  background:#fff!important;
  border-right:1px solid rgba(203,65,151,.12)!important;
  border-bottom:1px solid rgba(203,65,151,.12)!important;
  transform:translateX(-50%) rotate(45deg)!important;
}

html .apb-gift-tooltip.active{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}

html #app .apb-final-offer-list .apb-free-badge{
  padding:2px 5px!important;
  border-radius:5px!important;
  font-size:8px!important;
  line-height:1!important;
  margin-left:4px!important;
  transform:translateY(-1px)!important;
}

html #app .apb-size{
  position:relative!important;
  overflow:hidden!important;
}

html #app .apb-size .apb-size-crown{
  position:absolute!important;
  top:2px!important;
  right:2px!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  padding:4px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(188,58,139,.22)!important;
  box-shadow:0 4px 10px rgba(48,21,38,.13)!important;
  transform:none!important;
  pointer-events:none!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}

/* v0.9.62: crowns +20% on sizes, matching the quality screen style more closely. */
html #app .apb-size .apb-size-crown{
  top:-1px!important;
  right:-1px!important;
  width:29px!important;
  height:29px!important;
  min-width:29px!important;
  min-height:29px!important;
  padding:5px!important;
}

html #app .apb-size .apb-size-crown img.apb-quality-crown-icon{
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  max-width:19px!important;
  min-height:19px!important;
  max-height:19px!important;
}

html #app .apb-size .apb-size-crown.gold{
  background:rgba(255,246,199,.88)!important;
  border-color:rgba(218,145,0,.38)!important;
  box-shadow:0 4px 10px rgba(202,135,0,.22)!important;
}

html #app .apb-size .apb-size-crown img.apb-quality-crown-icon{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  max-width:16px!important;
  min-height:16px!important;
  max-height:16px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  transform:none!important;
  filter:brightness(0) saturate(100%) invert(33%) sepia(83%) saturate(2419%) hue-rotate(295deg) brightness(93%) contrast(94%) drop-shadow(0 2px 2px rgba(124,35,101,.22))!important;
}

html #app .apb-size .apb-size-crown.gold img.apb-quality-crown-icon{
  filter:brightness(0) saturate(100%) invert(61%) sepia(99%) saturate(2771%) hue-rotate(4deg) brightness(104%) contrast(108%) drop-shadow(0 2px 3px rgba(135,87,0,.32))!important;
}

@media(max-width:900px){
  html #app .apb-stage:has(.apb-size-grid) .apb-size-grid{
    display:grid!important;
    grid-auto-flow:row!important;
    grid-template-columns:repeat(3,calc((100vw - 46px)/3))!important;
    grid-template-rows:96px 96px!important;
    grid-auto-columns:unset!important;
    width:100vw!important;
    max-width:100vw!important;
    height:204px!important;
    min-height:204px!important;
    max-height:204px!important;
    gap:6px!important;
    margin:0!important;
    padding:4px 16px 10px!important;
    overflow:hidden!important;
    background:#fff!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-size{
    width:calc((100vw - 46px)/3)!important;
    min-width:calc((100vw - 46px)/3)!important;
    max-width:calc((100vw - 46px)/3)!important;
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-size > img{
    display:block!important;
    width:86px!important;
    height:66px!important;
    min-width:86px!important;
    max-width:86px!important;
    min-height:66px!important;
    max-height:66px!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:0!important;
    margin:0 auto!important;
    transform:none!important;
    transform-origin:center center!important;
    filter:none!important;
    box-shadow:none!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-size span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:26px!important;
    min-height:26px!important;
    padding:0 2px!important;
    font-size:13px!important;
    line-height:13px!important;
    font-weight:800!important;
    letter-spacing:-.1px!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-size[data-size="45x60"]:not(.active) span{
    box-shadow:inset 0 -11px 18px rgba(198,55,155,.13)!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-size[data-size="60x80"]:not(.active) span{
    box-shadow:inset 0 -11px 18px rgba(255,198,38,.24)!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-size.active{
    border:2px solid #25d51d!important;
    box-shadow:0 3px 10px rgba(37,213,29,.2)!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-size.active span{
    background:#24d600!important;
    color:#fff!important;
    font-weight:900!important;
    box-shadow:none!important;
  }
}

@media(max-width:390px){
  html #app .apb-stage:has(.apb-size-grid) .apb-size-grid{
    grid-template-columns:repeat(3,calc((100vw - 46px)/3))!important;
    grid-template-rows:91px 91px!important;
    height:194px!important;
    min-height:194px!important;
    max-height:194px!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-size{
    height:87px!important;
    min-height:87px!important;
    max-height:87px!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-size > img{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    height:62px!important;
    min-height:62px!important;
    max-height:62px!important;
    transform:none!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-size span{
    font-size:12.5px!important;
  }
}

@media(max-width:390px){
  html #app .apb-royal-animated-title{
    font-size:clamp(37px,9.8vw,49px)!important;
  }

  html #app .apb-royal-animated-title .apb-hero-words{
    height:50px!important;
    min-height:50px!important;
    font-size:clamp(23px,6.1vw,32px)!important;
  }

  html #app .apb-final-offers{
    grid-template-columns:3fr 2fr!important;
    gap:7px!important;
  }
}

/* v0.9.62 final lock: tabs, gift position, and larger crowns after all previous overrides. */
html #app .apb-stage:has(.apb-style-grid) .apb-style-tabs{
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:7px 10px!important;
  margin:4px auto 14px!important;
  overflow:visible!important;
  position:relative!important;
  z-index:9!important;
}

html #app .apb-stage:has(.apb-style-grid) .apb-options-col{
  overflow:visible!important;
}

html #app.apb-price-free-mode .apb-mobile-price{
  left:28px!important;
  top:-2px!important;
  width:62px!important;
  height:56px!important;
  align-items:center!important;
  justify-content:center!important;
}

html #app.apb-price-free-mode .apb-mobile-price .apb-gift-price{
  width:56px!important;
  height:50px!important;
  font-size:29px!important;
  border-radius:15px!important;
}

html #app .apb-quality .apb-quality-crown-wrap{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  min-height:50px!important;
  padding:8px!important;
}

html #app .apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon,
html #app .apb-quality img.apb-quality-crown-icon{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  min-height:32px!important;
  max-height:32px!important;
}

@media(max-width:900px){
  html #app .apb-quality .apb-quality-crown-wrap{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    padding:8px!important;
  }

  html #app .apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon,
  html #app .apb-quality img.apb-quality-crown-icon{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
    max-width:31px!important;
    min-height:31px!important;
    max-height:31px!important;
  }

  html #app .apb-size .apb-size-crown{
    top:-3px!important;
    right:-3px!important;
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    min-height:29px!important;
    padding:5px!important;
  }

  html #app .apb-size .apb-size-crown img.apb-quality-crown-icon{
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    max-width:19px!important;
    min-height:19px!important;
    max-height:19px!important;
  }
}

/* v0.9.63: rubber mobile layout — keep style tabs/cards visible on different phones. */
@media(max-width:900px){
  html #app .apb-work:not(.apb-is-landing):not(.apb-is-final){
    height:calc(100dvh - 54px)!important;
    min-height:0!important;
    overflow:hidden!important;
    padding-bottom:74px!important;
  }

  html #app .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-stage{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-col,
  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-col,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-col{
    flex:0 0 auto!important;
    height:clamp(255px,42dvh,505px)!important;
    min-height:0!important;
    max-height:505px!important;
    padding-top:clamp(5px,1.3dvh,12px)!important;
    padding-bottom:2px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-wrap,
  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-wrap,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-wrap canvas,
  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-wrap canvas,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap canvas{
    max-width:min(76vw,430px)!important;
    max-height:100%!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-options-col,
  html #app .apb-stage:has(.apb-size-grid) .apb-options-col,
  html #app .apb-stage:has(.apb-quality-grid) .apb-options-col{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:visible!important;
    padding-top:clamp(6px,1dvh,11px)!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style-tabs{
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    padding:3px 10px!important;
    margin:-2px auto 8px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style-tabs button{
    height:30px!important;
    min-height:30px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style-grid{
    height:clamp(150px,calc(100dvh - 875px),190px)!important;
    min-height:150px!important;
    max-height:190px!important;
    padding-top:2px!important;
    padding-bottom:8px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style{
    height:calc(100% - 8px)!important;
    min-height:142px!important;
    max-height:182px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style img{
    height:calc(100% - 38px)!important;
    min-height:104px!important;
    max-height:144px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style span{
    height:38px!important;
    min-height:38px!important;
  }

  html #app.apb-price-free-mode .apb-mobile-price{
    left:20px!important;
    top:10px!important;
  }

  html #app .apb-size .apb-size-crown{
    top:-2px!important;
    right:-2px!important;
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    min-height:26px!important;
    padding:4px!important;
  }

  html #app .apb-size .apb-size-crown img.apb-quality-crown-icon{
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
    max-width:17px!important;
    min-height:17px!important;
    max-height:17px!important;
  }
}

@media(max-width:900px) and (max-height:760px){
  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-col,
  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-col,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-col{
    height:clamp(220px,38dvh,310px)!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-wrap canvas,
  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-wrap canvas,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap canvas{
    max-width:68vw!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style-grid{
    height:148px!important;
    min-height:148px!important;
    max-height:148px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style{
    min-height:140px!important;
    max-height:140px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style img{
    min-height:102px!important;
    max-height:102px!important;
  }
}

/* v0.9.68 final lock: stable centered typing, gift pulse and quality crown proportions. */
html #app .apb-royal-animated-title{
  text-align:center!important;
  transform:translateY(-10px)!important;
}

html #app .apb-royal-animated-title .apb-hero-words{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  text-align:center!important;
  overflow:visible!important;
}

html #app .apb-royal-animated-title .apb-hero-words span{
  left:50%!important;
  width:max-content!important;
  max-width:100%!important;
  text-align:left!important;
  opacity:0;
  transform:translateX(-50%)!important;
  clip-path:inset(0 100% 0 0)!important;
  animation:apbHeroCenteredTypeFinal 16s steps(24,end) infinite!important;
}

@keyframes apbHeroCenteredTypeFinal{
  0%{opacity:1;clip-path:inset(0 100% 0 0)}
  3%{opacity:1;clip-path:inset(0 0 0 0)}
  21%{opacity:1;clip-path:inset(0 0 0 0)}
  25%{opacity:1;clip-path:inset(0 100% 0 0)}
  25.1%,100%{opacity:0;clip-path:inset(0 100% 0 0)}
}

html #app .apb-gift-price,
html #app.apb-price-free-mode .apb-mobile-price .apb-gift-price{
  width:51px!important;
  height:51px!important;
  min-width:51px!important;
  max-width:51px!important;
  min-height:51px!important;
  max-height:51px!important;
  border-radius:50%!important;
}

html:not(.apb-gift-seen) #app .apb-gift-price{
  animation:apbGiftPulseFinal 1.7s ease-in-out infinite!important;
}

html.apb-gift-seen #app .apb-gift-price{
  animation:none!important;
}

@keyframes apbGiftPulseFinal{
  0%,100%{transform:scale(1);box-shadow:inset 0 0 8px rgba(255,255,255,.35),0 4px 12px rgba(244,183,31,.18)}
  50%{transform:scale(1.055);box-shadow:inset 0 0 16px rgba(255,255,255,.92),0 5px 20px rgba(244,183,31,.5)}
}

html #app .apb-quality .apb-quality-crown-wrap{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:5px!important;
  border-radius:50%!important;
  aspect-ratio:1/1!important;
}

html #app .apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon,
html #app .apb-quality .apb-quality-crown-wrap .apb-quality-crown-icon{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  object-fit:contain!important;
}

@media(max-width:390px){
  html #app .apb-stage:has(.apb-style-grid) .apb-style-tabs{
    gap:6px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style-tabs button{
    min-width:64px!important;
    padding:0 11px!important;
    font-size:12px!important;
  }
}

/* v0.9.64 final: style step keeps full cards; canvas is the flexible part. */
@media(max-width:900px){
  html #app .apb-stage:has(.apb-style-grid){
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-col{
    flex:1 1 auto!important;
    height:calc(100dvh - 354px)!important;
    min-height:290px!important;
    max-height:560px!important;
    padding-top:8px!important;
    padding-bottom:4px!important;
    overflow:visible!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-wrap{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-wrap canvas{
    max-width:min(82vw,470px)!important;
    max-height:100%!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-options-col{
    flex:0 0 246px!important;
    height:246px!important;
    min-height:246px!important;
    max-height:246px!important;
    padding-top:4px!important;
    overflow:visible!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style-tabs{
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    padding:2px 10px!important;
    margin:0 auto 8px!important;
    overflow:visible!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style-tabs button{
    height:30px!important;
    min-height:30px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-rows:190px!important;
    grid-auto-columns:calc((100vw - 56px)/3)!important;
    width:100vw!important;
    max-width:100vw!important;
    height:204px!important;
    min-height:204px!important;
    max-height:204px!important;
    gap:10px!important;
    margin:0!important;
    padding:4px 18px 10px 16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    background:#fff!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style{
    width:calc((100vw - 56px)/3)!important;
    min-width:calc((100vw - 56px)/3)!important;
    max-width:calc((100vw - 56px)/3)!important;
    height:184px!important;
    min-height:184px!important;
    max-height:184px!important;
    overflow:hidden!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style img{
    height:146px!important;
    min-height:146px!important;
    max-height:146px!important;
    width:100%!important;
    object-fit:cover!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style span{
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    line-height:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}

@media(max-width:900px) and (max-height:760px){
  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-col{
    height:calc(100dvh - 334px)!important;
    min-height:248px!important;
    max-height:420px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-wrap canvas{
    max-width:min(78vw,430px)!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-options-col{
    flex-basis:238px!important;
    height:238px!important;
    min-height:238px!important;
    max-height:238px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style-grid{
    grid-template-rows:182px!important;
    height:196px!important;
    min-height:196px!important;
    max-height:196px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style{
    height:176px!important;
    min-height:176px!important;
    max-height:176px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-style img{
    height:138px!important;
    min-height:138px!important;
    max-height:138px!important;
  }
}

/* v0.9.65 final: size/quality canvas matches the style screen; gift and crowns tuned. */
@media(max-width:900px){
  html #app .apb-stage:has(.apb-size-grid),
  html #app .apb-stage:has(.apb-quality-grid){
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-col,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-col{
    flex:1 1 auto!important;
    height:calc(100dvh - 354px)!important;
    min-height:290px!important;
    max-height:560px!important;
    padding-top:8px!important;
    padding-bottom:4px!important;
    overflow:visible!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-wrap,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-wrap canvas,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap canvas{
    max-width:min(82vw,470px)!important;
    max-height:100%!important;
  }

  html #app.apb-price-free-mode .apb-mobile-price{
    left:8px!important;
    top:4px!important;
  }

  html #app .apb-size .apb-size-crown{
    top:3px!important;
    right:3px!important;
  }

  html #app .apb-quality .apb-quality-crown-wrap{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    padding:6px!important;
  }

  html #app .apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon,
  html #app .apb-quality img.apb-quality-crown-icon{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
    max-width:25px!important;
    min-height:25px!important;
    max-height:25px!important;
  }
}

@media(max-width:900px) and (max-height:760px){
  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-col,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-col{
    height:calc(100dvh - 334px)!important;
    min-height:248px!important;
    max-height:420px!important;
  }

  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-wrap canvas,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap canvas{
    max-width:min(78vw,430px)!important;
  }
}

/* v0.9.68 true end-of-file lock. Keep this block last. */
html #app .apb-royal-animated-title{
  text-align:center!important;
  transform:translateY(-10px)!important;
}

html #app .apb-royal-animated-title .apb-hero-static,
html #app .apb-royal-animated-title .apb-hero-words{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

html #app .apb-royal-animated-title .apb-hero-words{
  position:relative!important;
  display:block!important;
  width:100%!important;
  overflow:visible!important;
}

html #app .apb-royal-animated-title .apb-hero-words span{
  left:0!important;
  width:100%!important;
  max-width:100%!important;
  text-align:center!important;
  opacity:0;
  transform:none!important;
  clip-path:none!important;
  animation:apbHeroWordWindow0973 16s linear infinite!important;
}

html #app .apb-royal-animated-title .apb-hero-words span b{
  display:inline-block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  clip-path:inset(0 100% 0 0);
  color:inherit!important;
  font:inherit!important;
  font-weight:inherit!important;
  animation:apbHeroTextReveal0973 16s steps(26,end) infinite;
}

html #app .apb-royal-animated-title .apb-hero-words span:nth-child(1) b{animation-delay:0s;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(2) b{animation-delay:4s;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(3) b{animation-delay:8s;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(4) b{animation-delay:12s;}

@keyframes apbHeroWordWindow0973{
  0%,24.9%{opacity:1}
  25%,100%{opacity:0}
}

@keyframes apbHeroTextReveal0973{
  0%{clip-path:inset(0 100% 0 0)}
  4%,20%{clip-path:inset(0 0 0 0)}
  25%,100%{clip-path:inset(0 100% 0 0)}
}

html #app .apb-gift-price,
html #app.apb-price-free-mode .apb-mobile-price .apb-gift-price{
  width:51px!important;
  height:51px!important;
  min-width:51px!important;
  max-width:51px!important;
  min-height:51px!important;
  max-height:51px!important;
  border-radius:50%!important;
}

html:not(.apb-gift-seen) #app .apb-gift-price{
  animation:apbGiftPulseFinal 1.7s ease-in-out infinite!important;
}

html.apb-gift-seen #app .apb-gift-price{
  animation:none!important;
}

html #app .apb-quality .apb-quality-crown-wrap{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:5px!important;
  border-radius:50%!important;
  aspect-ratio:1/1!important;
  box-sizing:border-box!important;
}

html #app .apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon,
html #app .apb-quality .apb-quality-crown-wrap .apb-quality-crown-icon{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  object-fit:contain!important;
}

/* v0.9.68 compatibility lock for the legacy mobile overrides below. */
html #app .apb-royal-animated-title{
  text-align:center!important;
  transform:translateY(-10px)!important;
}

html #app .apb-royal-animated-title .apb-hero-static,
html #app .apb-royal-animated-title .apb-hero-words{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

html #app .apb-gift-price,
html #app.apb-price-free-mode .apb-mobile-price .apb-gift-price{
  width:51px!important;
  height:51px!important;
  min-width:51px!important;
  min-height:51px!important;
  max-width:51px!important;
  max-height:51px!important;
  border-radius:50%!important;
  aspect-ratio:1/1!important;
}

html #app .apb-quality .apb-quality-crown-wrap{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:5px!important;
  border-radius:50%!important;
  aspect-ratio:1/1!important;
}

html #app .apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon,
html #app .apb-quality img.apb-quality-crown-icon{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  min-height:22px!important;
  max-height:22px!important;
}

html #app .apb-final-benefits li i,
html #app .apb-final-offer-list small::first-letter{
  color:#c23a9b!important;
}

html #app .apb-final-benefits li i{
  background:linear-gradient(135deg,#f01894,#7b3cff)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}

/* v0.9.66 final lock: exact same canvas sizing on style, size and quality screens. */
@media(max-width:900px){
  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-col,
  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-col,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-col{
    flex:1 1 auto!important;
    height:calc(100dvh - 354px)!important;
    min-height:290px!important;
    max-height:560px!important;
    padding-top:8px!important;
    padding-bottom:4px!important;
    overflow:visible!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-wrap,
  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-wrap,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-wrap canvas,
  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-wrap canvas,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap canvas{
    max-width:min(82vw,470px)!important;
    max-height:100%!important;
  }

  html #app.apb-price-free-mode .apb-mobile-price{
    left:10px!important;
    top:6px!important;
  }

  html #app .apb-quality .apb-quality-crown-wrap{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    aspect-ratio:1/1!important;
    box-sizing:border-box!important;
    padding:6px!important;
    border-radius:50%!important;
    overflow:hidden!important;
  }
}

@media(max-width:900px) and (max-height:760px){
  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-col,
  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-col,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-col{
    height:calc(100dvh - 334px)!important;
    min-height:248px!important;
    max-height:420px!important;
  }

  html #app .apb-stage:has(.apb-style-grid) .apb-canvas-wrap canvas,
  html #app .apb-stage:has(.apb-size-grid) .apb-canvas-wrap canvas,
  html #app .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap canvas{
    max-width:min(78vw,430px)!important;
  }
}
/* v0.9.78: restored empty landing dropzone and a preview-only canvas watermark. */
.apb-landing-empty-upload{
  position:relative;
  display:flex;
  width:100%;
  min-height:128px;
  padding:17px 18px 15px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:2px dashed #bdaed5;
  border-radius:15px;
  background:#faf8f4;
  color:#241d2c;
  text-align:center;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(24,16,42,.16);
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
  box-sizing:border-box;
}
.apb-landing-empty-upload.is-dragging{
  border-color:#8062b4;
  background:#f3edf9;
  transform:scale(1.01);
}
.apb-landing-empty-upload input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}
.apb-landing-upload-icon{
  display:flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#d9ccef;
  color:#45366c;
}
.apb-landing-upload-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.apb-landing-empty-upload strong{max-width:430px;font-size:15px;line-height:1.2;font-weight:800;}
.apb-landing-empty-upload small{font-size:12px;line-height:1.25;color:#81758b;font-weight:600;}
.apb-multi-photo.is-busy img{
  opacity:.48;
  filter:saturate(.82) brightness(.96);
}
.apb-thumb-loader{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:26px;
  height:26px;
  margin:-13px 0 0 -13px;
  border-radius:50%;
  background:rgba(255,255,255,.86);
  box-shadow:0 6px 16px rgba(31,22,47,.22);
}
.apb-thumb-loader:before{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:50%;
  border:3px solid rgba(67,52,107,.18);
  border-top-color:#ffd33d;
  border-right-color:#db5ca3;
  animation:apbThumbSpin .82s linear infinite;
}
/* v0.10.65: photo manager popup from the camera button. */
.apb-photo-manager{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  box-sizing:border-box;
}
.apb-photo-manager.active{display:flex;}
.apb-photo-manager-backdrop{
  position:absolute;
  inset:0;
  background:rgba(22,16,34,.42);
  backdrop-filter:blur(5px);
}
.apb-photo-manager-card{
  position:relative;
  z-index:1;
  width:min(420px,calc(100vw - 28px));
  padding:18px 16px 16px;
  border-radius:22px;
  background:#fffaf4;
  box-shadow:0 22px 65px rgba(25,18,43,.32);
  border:1px solid rgba(104,80,151,.16);
  box-sizing:border-box;
}
.apb-photo-manager-card h3{
  margin:0 38px 4px 0;
  font-size:22px;
  line-height:1.1;
  color:#2f2454;
  font-weight:900;
}
.apb-photo-manager-card p{
  margin:0 38px 14px 0;
  font-size:13px;
  line-height:1.35;
  color:#7a6e86;
  font-weight:650;
}
.apb-photo-manager-close{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#f1eaf7;
  color:#423467;
  font-size:24px;
  line-height:30px;
  font-weight:800;
  cursor:pointer;
}
.apb-photo-manager-body .apb-multi-photo-row{
  display:flex;
  gap:8px;
  align-items:center;
  overflow-x:auto;
  padding:3px 2px 8px;
  -webkit-overflow-scrolling:touch;
}
.apb-photo-manager-body .apb-multi-photo,
.apb-photo-manager-body .apb-multi-photo-add{
  flex:0 0 84px;
  width:84px;
  height:84px;
  border-radius:13px;
}
.apb-photo-manager-body .apb-multi-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:13px;
}
.apb-photo-manager-add{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  background:#d6c5ec;
  color:#3f3167;
  cursor:pointer;
  overflow:hidden;
}
.apb-photo-manager-add input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.apb-photo-manager-add span{
  font-size:26px;
  line-height:1;
  font-weight:900;
}
.apb-photo-manager-add small{
  font-size:11px;
  font-weight:800;
}
.apb-photo-manager-hint{
  display:block;
  margin-top:6px;
  color:#8a7d91;
  font-size:12px;
  line-height:1.3;
  font-weight:650;
}
@keyframes apbThumbSpin{to{transform:rotate(360deg);}}
.apb-canvas-watermark{
  position:absolute;
  z-index:7;
  display:none;
  transform:translate(-50%,-50%) rotate(-17deg);
  color:rgba(255,255,255,.48);
  font-family:Georgia,serif;
  font-weight:900;
  font-style:italic;
  letter-spacing:.02em;
  line-height:1;
  white-space:nowrap;
  text-shadow:0 1px 3px rgba(30,20,35,.42),0 0 10px rgba(255,255,255,.16);
  pointer-events:none;
  user-select:none;
}
.apb-canvas-watermark.active{display:block;}
.apb-final-watermark{
  position:absolute;
  z-index:8;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(-17deg);
  color:rgba(255,255,255,.48);
  font:italic 900 clamp(18px,6vw,34px)/1 Georgia,serif;
  text-shadow:0 1px 3px rgba(30,20,35,.42),0 0 10px rgba(255,255,255,.16);
  white-space:nowrap;
  pointer-events:none;
}
.apb-viewer-watermark{font-size:clamp(30px,10vw,74px);}
@media(max-width:480px){
  .apb-landing-empty-upload{min-height:116px;padding:14px 12px 13px;}
  .apb-landing-empty-upload strong{font-size:13px;}
}

/* Desktop-only landing additions: keep mobile exactly like the old landing. */
#app.apb-root-landing .apb-royal-hero-gallery,
#app.apb-root-landing .apb-royal-hero-trust{
  display:none!important;
}

/* v0.9.80: the builder landing is the real homepage, not the first grid column. */
html #app.apb-root-landing .apb-main{
  display:block!important;
  grid-template-columns:none!important;
  width:100%!important;
}
html #app.apb-root-landing #apb-title{display:none!important;}
@media(min-width:901px){
  html #app.apb-root-landing .apb-work{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
  }
}

/* v0.9.87: desktop must be full-width/responsive, not a narrow mobile column. */
@media(min-width:901px){
  html,
  body{
    width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  #app,
  .apb-old,
  .apb-main,
  .apb-work,
  .apb-stage{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  #app.apb-root-landing,
  #app.apb-root-landing .apb-old,
  #app.apb-root-landing .apb-main,
  #app.apb-root-landing .apb-work,
  #app.apb-root-landing .apb-stage{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
  }

  #app.apb-root-landing .apb-work{
    height:auto!important;
    min-height:100vh!important;
    overflow:visible!important;
    padding:0!important;
    background:#120c20!important;
  }

  #app.apb-root-landing .apb-stage{
    display:block!important;
    height:auto!important;
  }

  #app.apb-root-landing .apb-canvas-col,
  #app.apb-root-landing .apb-bottom,
  #app.apb-root-landing .apb-side{
    display:none!important;
  }

  #app.apb-root-landing .apb-options-col{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }

  #app.apb-root-landing .apb-royal-landing{
    width:100vw!important;
    max-width:none!important;
    min-height:100vh!important;
    margin:0!important;
    padding-left:clamp(28px,5vw,92px)!important;
    padding-right:clamp(28px,5vw,92px)!important;
  }

  #app.apb-root-landing .apb-royal-head,
  #app.apb-root-landing .apb-royal-hero,
  #app.apb-root-landing .apb-royal-trust,
  #app.apb-root-landing .apb-royal-stats,
  #app.apb-root-landing .apb-royal-next{
    max-width:1380px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  #app.apb-root-landing .apb-royal-hero{
    min-height:clamp(480px,58vh,680px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  #app.apb-root-landing .apb-royal-marquee{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }

  body.single-product .apb-iframe-wrapper,
  body.single-product #apb-iframe{
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    min-height:100vh!important;
  }
}

/* v0.9.88: desktop landing must scroll and purple sections must really span edge-to-edge. */
@media(min-width:901px){
  html,
  body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  #app.apb-root-landing,
  #app.apb-root-landing .apb-old,
  #app.apb-root-landing .apb-main,
  #app.apb-root-landing .apb-work,
  #app.apb-root-landing .apb-stage,
  #app.apb-root-landing .apb-options-col{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  #app.apb-root-landing .apb-main{
    display:block!important;
  }

  #app.apb-root-landing .apb-royal-landing{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  #app.apb-root-landing .apb-royal-sale,
  #app.apb-root-landing .apb-royal-hero,
  #app.apb-root-landing .apb-royal-marquee,
  #app.apb-root-landing .apb-royal-trust{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }

  #app.apb-root-landing .apb-royal-head,
  #app.apb-root-landing .apb-royal-next,
  #app.apb-root-landing .apb-royal-stats{
    width:100%!important;
    max-width:1380px!important;
    padding-left:clamp(24px,5vw,86px)!important;
    padding-right:clamp(24px,5vw,86px)!important;
  }

  #app.apb-root-landing .apb-royal-hero{
    padding-left:clamp(28px,8vw,140px)!important;
    padding-right:clamp(28px,8vw,140px)!important;
  }

  #app.apb-root-landing .apb-royal-marquee{
    overflow:hidden!important;
  }
}

/* v0.9.89: desktop landing follows the TurnMeRoyal-style full hero layout. */
@media(min-width:901px){
  html body:has(#app.apb-root-landing){
    background:#f6f1ea!important;
  }

  #app.apb-root-landing .apb-work{
    background:#f6f1ea!important;
  }

  #app.apb-root-landing .apb-royal-landing{
    --apb-royal-purple:#3b315d;
    --apb-royal-purple-dark:#302650;
    --apb-royal-cream:#f6f1ea;
    --apb-royal-card:#fbf8f2;
    --apb-royal-gold:#ffc94a;
    width:100vw!important;
    max-width:none!important;
    min-height:100vh!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    background:var(--apb-royal-cream)!important;
    color:#21182f!important;
    overflow-x:hidden!important;
  }

  #app.apb-root-landing .apb-royal-sale{
    width:100vw!important;
    height:36px!important;
    margin:0!important;
    padding:0!important;
    background:var(--apb-royal-purple)!important;
    color:#fff8ec!important;
    font-size:14px!important;
    font-weight:900!important;
    letter-spacing:.025em!important;
    text-transform:uppercase!important;
  }

  #app.apb-root-landing .apb-royal-head{
    width:100vw!important;
    max-width:none!important;
    height:62px!important;
    margin:0!important;
    padding:0 clamp(72px,10vw,178px)!important;
    background:var(--apb-royal-cream)!important;
    border:0!important;
    box-shadow:none!important;
  }

  #app.apb-root-landing .apb-royal-logo{
    color:var(--apb-royal-purple)!important;
    font-size:27px!important;
    transform:translateY(-1px)!important;
  }

  #app.apb-root-landing .apb-royal-credit{
    min-width:118px!important;
    height:30px!important;
    border-radius:999px!important;
    background:#e3dde7!important;
    color:#7c7382!important;
    font-size:13px!important;
    line-height:14px!important;
  }

  #app.apb-root-landing .apb-royal-plus{
    width:30px!important;
    height:30px!important;
    background:#ded7e5!important;
    color:var(--apb-royal-purple)!important;
    font-size:24px!important;
  }

  #app.apb-root-landing .apb-royal-menu{
    width:34px!important;
    height:34px!important;
  }

  #app.apb-root-landing .apb-royal-menu i{
    width:22px!important;
    height:2px!important;
    background:#171020!important;
  }

  #app.apb-root-landing .apb-royal-hero{
    position:relative!important;
    width:100vw!important;
    min-height:480px!important;
    margin:0!important;
    padding:42px clamp(72px,10vw,178px) 42px!important;
    display:grid!important;
    grid-template-columns:minmax(430px,520px) minmax(420px,560px)!important;
    align-items:center!important;
    justify-content:center!important;
    gap:64px!important;
    background:linear-gradient(180deg,var(--apb-royal-purple),var(--apb-royal-purple-dark))!important;
    color:#fff8ec!important;
    text-align:left!important;
    overflow:hidden!important;
  }

  #app.apb-root-landing .apb-royal-hero-copy{
    width:100%!important;
    max-width:520px!important;
    justify-self:start!important;
    z-index:2!important;
  }

  #app.apb-root-landing .apb-royal-animated-title{
    width:100%!important;
    max-width:520px!important;
    margin:0 0 16px!important;
    color:#fff8ec!important;
    font-family:Georgia,serif!important;
    font-style:italic!important;
    font-weight:900!important;
    font-size:clamp(52px,4.9vw,78px)!important;
    line-height:.98!important;
    letter-spacing:-.055em!important;
    text-align:left!important;
  }

  #app.apb-root-landing .apb-royal-animated-title .apb-hero-static,
  #app.apb-root-landing .apb-royal-animated-title .apb-hero-words{
    display:block!important;
    width:100%!important;
    text-align:left!important;
  }

  #app.apb-root-landing .apb-royal-animated-title .apb-hero-words{
    height:1.08em!important;
    color:var(--apb-royal-gold)!important;
    font-size:clamp(42px,3.7vw,62px)!important;
    line-height:1.08!important;
    margin-top:2px!important;
  }

  #app.apb-root-landing .apb-royal-hero p{
    max-width:520px!important;
    margin:0 0 26px!important;
    color:rgba(255,248,236,.95)!important;
    font-size:16px!important;
    line-height:1.45!important;
    text-align:left!important;
  }

  #app.apb-root-landing .apb-landing-empty-upload,
  #app.apb-root-landing .apb-multi-upload-card{
    width:100%!important;
    max-width:520px!important;
    min-height:134px!important;
    margin:0!important;
    padding:22px 24px!important;
    border:2px dashed rgba(132,109,181,.78)!important;
    border-radius:16px!important;
    background:var(--apb-royal-card)!important;
    color:#1f1930!important;
    box-shadow:none!important;
  }

  #app.apb-root-landing .apb-landing-empty-upload strong{
    max-width:none!important;
    font-size:16px!important;
    line-height:1.35!important;
    color:#1f1930!important;
  }

  #app.apb-root-landing .apb-landing-empty-upload small{
    font-size:14px!important;
    color:#746a79!important;
  }

  #app.apb-root-landing .apb-landing-upload-icon{
    width:48px!important;
    height:48px!important;
    background:#d9ccef!important;
    color:#423063!important;
  }

  #app.apb-root-landing .apb-royal-hero .apb-royal-continue{
    width:100%!important;
    max-width:520px!important;
    height:56px!important;
    margin:16px 0 0!important;
    border-radius:12px!important;
    background:#ffc84a!important;
    color:#21182f!important;
    box-shadow:0 14px 28px rgba(255,200,74,.22)!important;
  }

  #app.apb-root-landing .apb-royal-hero-trust{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:20px!important;
    margin-top:24px!important;
    color:#fff8ec!important;
    font-size:14px!important;
    line-height:1.3!important;
    white-space:nowrap!important;
  }

  #app.apb-root-landing .apb-royal-hero-trust span::first-letter{
    color:var(--apb-royal-gold)!important;
  }

  #app.apb-root-landing .apb-royal-hero-gallery{
    position:relative!important;
    z-index:1!important;
    width:346px!important;
    height:560px!important;
    justify-self:end!important;
    display:grid!important;
    grid-template-columns:168px 168px!important;
    gap:10px!important;
    transform:translateY(-4px)!important;
    transform-origin:center center!important;
    overflow:hidden!important;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%)!important;
    mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%)!important;
  }

  #app.apb-root-landing .apb-royal-gallery-col{
    position:relative!important;
    height:100%!important;
    overflow:hidden!important;
    border-radius:16px!important;
  }

  #app.apb-root-landing .apb-royal-gallery-track{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    will-change:transform!important;
  }

  #app.apb-root-landing .apb-royal-gallery-col.up .apb-royal-gallery-track{
    animation:apbRoyalGalleryUp 24s linear infinite!important;
  }

  #app.apb-root-landing .apb-royal-gallery-col.down .apb-royal-gallery-track{
    animation:apbRoyalGalleryDown 27s linear infinite!important;
  }

  #app.apb-root-landing .apb-royal-gallery-card{
    flex:0 0 224px!important;
    height:224px!important;
    aspect-ratio:3/4!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:14px!important;
    background:#241a3d!important;
    box-shadow:0 14px 32px rgba(11,7,20,.27)!important;
  }

  #app.apb-root-landing .apb-royal-gallery-card img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
  }

  #app.apb-root-landing .apb-royal-gallery-col{
    width:168px!important;
    justify-self:center!important;
  }

  @keyframes apbRoyalGalleryUp{
    from{transform:translateY(0);}
    to{transform:translateY(calc(-50% - 8px));}
  }

  @keyframes apbRoyalGalleryDown{
    from{transform:translateY(calc(-50% - 8px));}
    to{transform:translateY(0);}
  }

  #app.apb-root-landing .apb-royal-marquee{
    display:none!important;
  }

  #app.apb-root-landing .apb-royal-trust{
    display:none!important;
  }

  #app.apb-root-landing .apb-royal-stats{
    width:100vw!important;
    max-width:none!important;
    height:86px!important;
    margin:0!important;
    padding:0 clamp(72px,10vw,178px)!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    background:var(--apb-royal-cream)!important;
    border-bottom:1px solid rgba(58,48,91,.10)!important;
  }

  #app.apb-root-landing .apb-royal-stats div{
    max-width:360px!important;
    justify-self:center!important;
  }

  #app.apb-root-landing .apb-royal-next{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
    padding:26px clamp(72px,10vw,178px) 64px!important;
    background:var(--apb-royal-cream)!important;
  }
}

@media(min-width:901px) and (max-width:1120px){
  #app.apb-root-landing .apb-royal-head{
    padding-left:clamp(36px,6vw,72px)!important;
    padding-right:clamp(36px,6vw,72px)!important;
  }

  #app.apb-root-landing .apb-royal-hero{
    grid-template-columns:minmax(380px,500px) minmax(340px,440px)!important;
    gap:34px!important;
    padding-left:clamp(36px,6vw,72px)!important;
    padding-right:clamp(36px,6vw,72px)!important;
  }

  #app.apb-root-landing .apb-royal-hero-gallery{
    width:314px!important;
    height:500px!important;
    gap:8px!important;
  }

  #app.apb-root-landing .apb-royal-gallery-track{
    gap:8px!important;
  }

  #app.apb-root-landing .apb-royal-gallery-card{
    flex-basis:204px!important;
    height:204px!important;
  }

  #app.apb-root-landing .apb-royal-gallery-col{
    width:153px!important;
  }
}

/* v0.9.99: hard mobile restore — desktop hero gallery must never leak into mobile. */
@media(max-width:900px){
  #app.apb-root-landing .apb-royal-hero-gallery,
  #app.apb-root-landing .apb-royal-gallery-col,
  #app.apb-root-landing .apb-royal-gallery-track,
  #app.apb-root-landing .apb-royal-gallery-card,
  #app.apb-root-landing .apb-royal-hero-trust{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  #app.apb-root-landing .apb-royal-hero{
    display:block!important;
  }

  #app.apb-root-landing .apb-royal-hero-copy{
    width:100%!important;
    max-width:none!important;
  }
}
