/* Generated catalog photography: keep the baked-in brand and full frame visible. */
[data-branded-photo="true"] img.product-cutout,
[data-branded-photo="true"] #productConfigImage { width:100%; height:100%; object-fit:contain; transform:none; max-width:100%; }
.product-image[data-branded-photo="true"] { padding:0; }
.product-image[data-branded-photo="true"] .product-badge { top:auto; bottom:12px; }
.extra-generated-photo { width:100%; height:100%; object-fit:contain; border-radius:18px; }
/* The folding hero is a local, interactive 3D scene. */
#heroPhoneWrap.duo-ready { width:min(540px,100%); height:470px; animation:none; }
.duo-ready #heroImage { display:none; }
.duo-canvas { width:100%; height:100%; display:block; filter:drop-shadow(0 25px 22px rgba(16,38,58,.19)); }
.duo-toggle { z-index:5; left:0; bottom:30px; border:1px solid rgba(255,255,255,.75); cursor:pointer; color:inherit; font:inherit; }
.duo-toggle:focus-visible { outline:3px solid #fa713b; outline-offset:4px; }
@media(max-width:600px) { #heroPhoneWrap.duo-ready { height:360px; } .duo-toggle { bottom:10px; } }

.product-photo-note { font-size:14px; line-height:1.5; color:#526373; margin:12px 0; }

.product-image[data-branded-photo="true"] > .product-cutout,
.product-card:hover .product-image[data-branded-photo="true"] > .product-cutout { width:100%; height:100%; padding:0; object-fit:contain; transform:none; mix-blend-mode:normal; }
.product-config-visual[data-branded-photo="true"] #productConfigImage { padding:0; object-position:center; mix-blend-mode:normal; }
.duo-ready.image-failed::after { display:none; }
.hero-stage:has(.duo-ready) .float-pill-two { top:auto; bottom:82px; left:auto; right:8px; font-size:14px; }
@media(prefers-reduced-motion:reduce) { .duo-toggle { animation:none; } }

/* V23.4.3 — exact transparent Duo assets on the homepage hero. */
#heroPhoneWrap[data-gallery-mode="hero"] {
  background: transparent !important;
  overflow: visible !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}
#heroPhoneWrap[data-gallery-mode="hero"] #heroImage {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  mix-blend-mode: normal !important;
  background: transparent !important;
  filter: drop-shadow(0 28px 28px rgba(16,38,58,.18)) !important;
}
#duoToggle[hidden] { display: none !important; }


/* V23.4.15 — photo fit, AI header light theme, safer Telegram/static framing */
.product-image { background: linear-gradient(180deg, rgba(238,249,255,.96), rgba(226,243,252,.88)); }
.product-image img,
.product-cutout,
.extra-generated-photo {
  object-fit: contain !important;
  object-position: center center !important;
}
.product-cutout {
  width: 86% !important;
  height: 86% !important;
  padding: 8px !important;
  mix-blend-mode: normal !important;
}
.product-card:hover .product-cutout { transform: none !important; }
.product-cutout[data-product-image="model-zlxkkn"],
.product-cutout[data-product-image="model-jphcgo"],
.product-cutout[data-product-image="model-1kb5x3a"],
.product-cutout[data-product-image="model-tbp843"],
.product-cutout[data-product-image="model-1ddeec9"] {
  width: 82% !important;
  height: 82% !important;
}
.product-image[data-branded-photo="true"] { padding: 10px !important; }
.product-image[data-branded-photo="true"] > .product-cutout,
.product-card:hover .product-image[data-branded-photo="true"] > .product-cutout {
  width: 90% !important;
  height: 90% !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  mix-blend-mode: normal !important;
}
.product-config-visual { overflow: hidden; }
.product-config-visual > #productConfigImage,
.product-config-visual[data-branded-photo="true"] #productConfigImage {
  width: 88% !important;
  height: 88% !important;
  max-width: 88% !important;
  max-height: 88% !important;
  object-fit: contain !important;
  object-position: center center !important;
  mix-blend-mode: normal !important;
  padding: 10px !important;
}
.hero-phone { mix-blend-mode: normal !important; }

/* Assistant header should repeat the light glass header language from the main page. */
.ai-body-light .ai-header {
  background: rgba(255,255,255,.48) !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  -webkit-backdrop-filter: blur(24px) saturate(145%) !important;
  backdrop-filter: blur(24px) saturate(145%) !important;
  box-shadow: 0 18px 44px rgba(37,104,140,.10), inset 0 1px 0 rgba(255,255,255,.82) !important;
}
.ai-brand-lockup {
  filter: drop-shadow(0 0 12px rgba(255,115,62,.18)) !important;
}
.ai-body-light .ai-back {
  color: var(--ink) !important;
  border-color: rgba(16,48,67,.08) !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 8px 18px rgba(31,89,120,.08) !important;
}
.ai-body-light .ai-back:hover {
  background: rgba(255,255,255,.92) !important;
}


/* V23.4.16 — compact old OBLAKO badge, exact main header on AI page, Duo hero sizing */
.product-config-visual > #productConfigImage {
  width: 88% !important;
  height: 88% !important;
  max-width: 88% !important;
  max-height: 88% !important;
  object-fit: contain !important;
  object-position: center center !important;
  mix-blend-mode: normal !important;
  padding: 10px !important;
}
.product-config-visual > #productConfigLogos img {
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  padding: 0 !important;
}
.product-config-visual > #productConfigLogos .product-logo-stack {
  top: 18px !important;
  right: 18px !important;
  min-width: 0 !important;
  padding: 8px 12px !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 8px 20px rgba(22,70,96,.10) !important;
}
.product-config-visual > #productConfigLogos .product-logo-stack-oblako-only .oblako-card-logo {
  width: 104px !important;
  height: 27px !important;
}
.ai-main-header {
  position: relative !important;
  z-index: 20;
  margin: 0 0 26px;
}
.ai-shell-with-main-header { padding-top: 0 !important; }
.ai-main-header .header-inner { min-height: 92px; }
.ai-main-header .ai-back { white-space: nowrap; }
#heroPhoneWrap {
  width: min(600px, 95%) !important;
  height: 500px !important;
}
#heroPhoneWrap .hero-phone {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: translateZ(24px) scale(1.08) !important;
}
@media (max-width: 900px){
  .ai-main-header .nav { display:none; }
  .ai-main-header .header-inner { min-height:78px; }
  #heroPhoneWrap { width:min(520px,94vw) !important; height:420px !important; }
}


/* V23.4.16 final tuning — compact co-brand logo, storefront AI header, balanced Duo hero */
.product-config-visual > #productConfigLogos .product-logo-stack {
  top: 16px !important;
  right: 16px !important;
  min-width: 0 !important;
  gap: 6px !important;
  padding: 5px 7px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 7px 18px rgba(22,70,96,.10) !important;
  transform: none !important;
}
.product-config-visual > #productConfigLogos .product-logo-stack .oblako-card-logo {
  width: 72px !important;
  height: 20px !important;
  max-width: 72px !important;
  max-height: 20px !important;
}
.product-config-visual > #productConfigLogos .product-logo-stack .manufacturer-logo {
  width: 43px !important;
  height: 18px !important;
  max-width: 43px !important;
  max-height: 18px !important;
  padding-left: 6px !important;
  border-left: 1px solid rgba(12,43,61,.13) !important;
}
.product-config-visual > #productConfigLogos .product-logo-stack-oblako-only {
  min-width: 110px !important;
  padding: 6px 9px !important;
}
.product-config-visual > #productConfigLogos .product-logo-stack-oblako-only .oblako-card-logo {
  width: 86px !important;
  height: 23px !important;
  max-width: 86px !important;
  max-height: 23px !important;
}

/* Use the exact homepage Duo pair at a natural size. */
#heroPhoneWrap {
  width: min(555px, 92%) !important;
  height: 475px !important;
}
#heroPhoneWrap .hero-phone {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center 50% !important;
  transform: translateZ(24px) scale(.98) !important;
  filter: drop-shadow(0 28px 24px rgba(12,43,61,.19)) !important;
}

/* AI page header is the storefront header, not the old isolated AI bar. */
.ai-main-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
  margin: 0 !important;
}
.ai-main-header .header-inner { min-height: 92px !important; }
.ai-main-header .site-logo-image { object-fit: contain !important; }
.ai-main-header .ai-back {
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 16px !important;
  white-space: nowrap !important;
}
.ai-shell-with-main-header { padding-top: 18px !important; }
@media (max-width: 900px) {
  #heroPhoneWrap { width:min(455px,94vw) !important; height:400px !important; }
  .ai-main-header .nav { display:none !important; }
  .ai-main-header .header-inner { min-height:78px !important; }
}


/* V23.4.17 — individual Duo colors, single OBLAKO badge, transparent iPhone 18 galleries */
.product-image .product-logo-stack-oblako-only {
  top: 14px !important;
  right: 14px !important;
  min-width: 0 !important;
  padding: 7px 10px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 8px 18px rgba(22,70,96,.10) !important;
}
.product-image .product-logo-stack-oblako-only .oblako-card-logo {
  width: 92px !important;
  height: 25px !important;
  max-width: 92px !important;
  max-height: 25px !important;
  object-fit: contain !important;
}
.product-config-visual > #productConfigLogos .product-logo-stack-oblako-only {
  min-width: 0 !important;
  padding: 6px 9px !important;
}
.product-config-visual > #productConfigLogos .product-logo-stack-oblako-only .oblako-card-logo {
  width: 88px !important;
  height: 24px !important;
  max-width: 88px !important;
  max-height: 24px !important;
}
#heroPhoneWrap {
  width: min(500px, 86%) !important;
  height: 500px !important;
}
#heroPhoneWrap[data-gallery-mode="hero"] #heroImage {
  object-fit: contain !important;
  object-position: center center !important;
  transform: translateZ(24px) scale(1.02) !important;
}
@media (max-width: 900px){
  #heroPhoneWrap { width:min(430px,90vw) !important; height:420px !important; }
}


/* V23.4.36 iPhone 18 frame lock — only Pro Max, Pro and Duo.
   Existing images are not replaced: each frame is forced fully inside its card. */
.product-card[data-product-id="model-tbp843"] .product-image,
.product-card[data-product-id="model-1ddeec9"] .product-image,
.product-card[data-product-id="model-16gtlvi"] .product-image {
  box-sizing: border-box !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.product-card[data-product-id="model-tbp843"] .product-cutout,
.product-card[data-product-id="model-1ddeec9"] .product-cutout,
.product-card[data-product-id="model-16gtlvi"] .product-cutout {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 9% 7% !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  transform-origin: center center !important;
}
.product-card[data-product-id="model-tbp843"]:hover .product-cutout,
.product-card[data-product-id="model-1ddeec9"]:hover .product-cutout,
.product-card[data-product-id="model-16gtlvi"]:hover .product-cutout {
  transform: none !important;
}
.product-config-visual[data-product-id="model-tbp843"] .product-gallery-stage,
.product-config-visual[data-product-id="model-1ddeec9"] .product-gallery-stage,
.product-config-visual[data-product-id="model-16gtlvi"] .product-gallery-stage {
  box-sizing: border-box !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.product-config-visual[data-product-id="model-tbp843"] #productConfigImage,
.product-config-visual[data-product-id="model-1ddeec9"] #productConfigImage,
.product-config-visual[data-product-id="model-16gtlvi"] #productConfigImage {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 11% !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  transform-origin: center center !important;
}

/* V23.4.37 — iPhone 18 no-crop hard lock.
   Scope: iPhone 18 Pro Max / Pro / Duo only. Existing photos are unchanged. */
.product-card[data-product-id="model-tbp843"] .product-image,
.product-card[data-product-id="model-1ddeec9"] .product-image,
.product-card[data-product-id="model-16gtlvi"] .product-image {
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
  padding:12px !important;
  box-sizing:border-box !important;
}
.product-card[data-product-id="model-tbp843"] .product-cutout,
.product-card[data-product-id="model-1ddeec9"] .product-cutout,
.product-card[data-product-id="model-16gtlvi"] .product-cutout,
.product-card[data-product-id="model-tbp843"]:hover .product-cutout,
.product-card[data-product-id="model-1ddeec9"]:hover .product-cutout,
.product-card[data-product-id="model-16gtlvi"]:hover .product-cutout {
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:88% !important;
  max-height:88% !important;
  margin:auto !important;
  padding:0 !important;
  box-sizing:border-box !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  transform-origin:center center !important;
}
.product-config-visual[data-product-id="model-tbp843"],
.product-config-visual[data-product-id="model-1ddeec9"],
.product-config-visual[data-product-id="model-16gtlvi"] {
  overflow:visible !important;
}
.product-config-visual[data-product-id="model-tbp843"] .product-gallery-stage,
.product-config-visual[data-product-id="model-1ddeec9"] .product-gallery-stage,
.product-config-visual[data-product-id="model-16gtlvi"] .product-gallery-stage {
  position:relative !important;
  width:100% !important;
  height:404px !important;
  min-height:404px !important;
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
  padding:24px !important;
  box-sizing:border-box !important;
}
.product-config-visual[data-product-id="model-tbp843"] #productConfigImage,
.product-config-visual[data-product-id="model-1ddeec9"] #productConfigImage,
.product-config-visual[data-product-id="model-16gtlvi"] #productConfigImage {
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:86% !important;
  max-height:86% !important;
  margin:auto !important;
  padding:0 !important;
  box-sizing:border-box !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  transform-origin:center center !important;
}
@media (max-width:760px) {
  .product-config-visual[data-product-id="model-tbp843"] .product-gallery-stage,
  .product-config-visual[data-product-id="model-1ddeec9"] .product-gallery-stage,
  .product-config-visual[data-product-id="model-16gtlvi"] .product-gallery-stage {
    height:300px !important;
    min-height:300px !important;
    padding:18px !important;
  }
  .product-config-visual[data-product-id="model-tbp843"] #productConfigImage,
  .product-config-visual[data-product-id="model-1ddeec9"] #productConfigImage,
  .product-config-visual[data-product-id="model-16gtlvi"] #productConfigImage {
    max-width:84% !important;
    max-height:84% !important;
  }
}



/* V23.4.37 — final no-crop fix for iPhone 18 Pro Max / Pro / Duo */
.product-image > .product-cutout[data-product-image="model-tbp843"],
.product-image > .product-cutout[data-product-image="model-1ddeec9"],
.product-image > .product-cutout[data-product-image="model-16gtlvi"] {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 88% !important;
  max-height: 88% !important;
  margin: auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  transform-origin: center center !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
.product-card:hover .product-image > .product-cutout[data-product-image="model-tbp843"],
.product-card:hover .product-image > .product-cutout[data-product-image="model-1ddeec9"],
.product-card:hover .product-image > .product-cutout[data-product-image="model-16gtlvi"] {
  transform: none !important;
}
.product-config-visual[data-product-id="model-tbp843"] .product-gallery-stage,
.product-config-visual[data-product-id="model-1ddeec9"] .product-gallery-stage,
.product-config-visual[data-product-id="model-16gtlvi"] .product-gallery-stage {
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}
.product-config-visual[data-product-id="model-tbp843"] .product-gallery-stage img,
.product-config-visual[data-product-id="model-1ddeec9"] .product-gallery-stage img,
.product-config-visual[data-product-id="model-16gtlvi"] .product-gallery-stage img,
.product-config-visual[data-product-id="model-tbp843"] > #productConfigImage,
.product-config-visual[data-product-id="model-1ddeec9"] > #productConfigImage,
.product-config-visual[data-product-id="model-16gtlvi"] > #productConfigImage {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 86% !important;
  max-height: 86% !important;
  margin: auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  transform-origin: center center !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
.product-config-visual[data-product-id="model-tbp843"][data-gallery-mode="selected"] .product-gallery-stage img,
.product-config-visual[data-product-id="model-1ddeec9"][data-gallery-mode="selected"] .product-gallery-stage img,
.product-config-visual[data-product-id="model-16gtlvi"][data-gallery-mode="selected"] .product-gallery-stage img,
.product-config-visual[data-product-id="model-tbp843"][data-gallery-mode="detail"] .product-gallery-stage img,
.product-config-visual[data-product-id="model-1ddeec9"][data-gallery-mode="detail"] .product-gallery-stage img,
.product-config-visual[data-product-id="model-16gtlvi"][data-gallery-mode="detail"] .product-gallery-stage img,
.product-config-visual[data-product-id="model-tbp843"][data-gallery-mode="alternate"] .product-gallery-stage img,
.product-config-visual[data-product-id="model-1ddeec9"][data-gallery-mode="alternate"] .product-gallery-stage img,
.product-config-visual[data-product-id="model-16gtlvi"][data-gallery-mode="alternate"] .product-gallery-stage img {
  transform: none !important;
}

/* V23.4.47 — catalog OBLAKO badge uses the exact header wordmark proportions */
.product-logo-stack-oblako-only .oblako-card-logo,
.product-image .product-logo-stack-oblako-only .oblako-card-logo,
.product-config-visual > #productConfigLogos .product-logo-stack-oblako-only .oblako-card-logo {
  width: 92px !important;
  height: auto !important;
  max-width: 92px !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}
.product-config-visual > #productConfigLogos .product-logo-stack-oblako-only {
  min-width: 112px !important;
}
.product-photo-note { display:none !important; }

/* V23.4.48 — exact header wordmark in catalog badge; never stretch the lettering. */
.product-logo-stack-oblako-only .oblako-card-logo,
.product-image .product-logo-stack-oblako-only .oblako-card-logo,
.product-config-visual > #productConfigLogos .product-logo-stack-oblako-only .oblako-card-logo {
  display:block !important;
  width:118px !important;
  height:auto !important;
  max-width:118px !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  filter:none !important;
  transform:none !important;
}
.product-config-visual > #productConfigLogos .product-logo-stack-oblako-only,
.product-image .product-logo-stack-oblako-only {
  min-width:138px !important;
  height:48px !important;
  padding:8px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.product-photo-note,#productPhotoNote{display:none!important}
