/* h6s0. Inline product contour derived from the actual calendar mesh, with its original binding/hanger. Shop embedding only; not a photograph or a GPU-rendered wall. */
.portfolio-loading-scene{display:none}
html[data-portfolio-embed="shop"] #portfolio-loader{overflow:hidden;isolation:isolate}
html[data-portfolio-embed="shop"] #portfolio-loader>.portfolio-loading-scene{display:block;position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 34% 18%,#77828016,transparent 70%),linear-gradient(120deg,#242424,#292c2c 55%,#242424);opacity:1;transition:opacity 340ms ease-out}
html[data-portfolio-embed="shop"] #portfolio-loader>:not(.portfolio-loading-scene):not(#portfolio-loader-warm-preview){position:relative;z-index:1}
html[data-portfolio-embed="shop"] .portfolio-loading-wall-shadow{position:absolute;left:53%;top:7%;width:30%;height:92%;background:linear-gradient(90deg,#0000,#0005,#0000);filter:blur(28px);transform:rotate(-23deg);opacity:.5}
/* Same initial viewport fit as buildRoomProjection: pixels/unit=.72*min(viewportWidth/.89,viewportHeight/.675). ViewBox includes the original camera Y offset. */
html[data-portfolio-embed="shop"] .portfolio-loading-calendar-outline{display:block;position:absolute;top:50%;left:50%;width:min(71.191011vw,93.866667vh);height:min(56.629213vw,74.666667vh);max-width:none;transform:translate(-50%,-50%);color:#eee9e461;filter:drop-shadow(12px 18px 12px #0009);overflow:visible}
html[data-portfolio-embed="shop"] #portfolio-loader[data-scene-ready="true"] .portfolio-loading-scene{opacity:0}
@media(prefers-reduced-motion:reduce){html[data-portfolio-embed="shop"] #portfolio-loader>.portfolio-loading-scene{transition:none}}

/* j8u2: show actual retained calendar pixels, not an empty screen with a hidden spinner. */
html[data-portfolio-embed="shop"] #portfolio-loader-warm-preview{position:absolute;inset:0;z-index:1;width:100%;height:100%;max-width:none!important;max-height:none!important;object-fit:fill;margin:0;padding:0;border:0;box-sizing:border-box;background:#242424;pointer-events:none}
html[data-portfolio-embed="shop"] #portfolio-loader-warm-preview[hidden]{display:none!important}
html[data-portfolio-embed="shop"] #portfolio-loader[data-warm-preview="true"]>:not(#portfolio-loader-warm-preview){visibility:hidden}
html[data-portfolio-embed="shop"] #portfolio-loader[data-warm-preview="true"]{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
html[data-portfolio-embed="shop"] #portfolio-loader[data-warm-preview="true"]{visibility:hidden;pointer-events:none}
html[data-warm-view="true"] :is(#portfolio-arrow,#portfolio-forward,.calendar-tools,#portfolio-commerce){z-index:40}
html[data-warm-view="true"] #portfolio-loader-warm-preview{z-index:1}
html[data-portfolio-embed="shop"] .portfolio-product-loading-outline{display:block;width:min(48vw,300px);height:min(38vh,260px);margin:auto;color:#eee9e4;opacity:.42;pointer-events:none}
html[data-portfolio-embed="shop"] .portfolio-loading-scene>.portfolio-product-loading-outline{position:absolute;inset:0}
html[data-portfolio-embed="shop"] #portfolio-digital-frame>.portfolio-product-loading-outline{position:absolute;inset:0}
html[data-portfolio-embed="shop"][data-loading-world]:not([data-loading-world="calendar"]) .portfolio-loading-calendar-outline{visibility:hidden}
html[data-portfolio-embed="shop"] .portfolio-product-loading-outline.portfolio-product-loading-thumbnail{position:static;width:64px;height:82px;margin:8px auto}
/* r6c0: same drawer/grid/toggle treatment as the existing Ambiance gallery. */
html[data-portfolio-embed="shop"] body #portfolio-card-choices{width:820px;max-width:calc(100% - 90px);font-size:11px;color:#ddd3c7;align-items:flex-end}
html[data-portfolio-embed="shop"] #portfolio-card-choices>[data-ambiance-equivalent="true"]{flex:1 1 0;min-width:0}
html[data-portfolio-embed="shop"] :is(#portfolio-series-gallery,#portfolio-edition-gallery,#portfolio-wrap-gallery)[data-ambiance-equivalent="true"]>[data-ambiance-toggle]{display:block;width:100%;height:auto;min-height:44px;padding:12px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;letter-spacing:normal;line-height:normal;text-align:center;cursor:pointer;box-sizing:border-box}
html[data-portfolio-embed="shop"] :is(#portfolio-series-gallery,#portfolio-edition-gallery,#portfolio-wrap-gallery)[data-ambiance-equivalent="true"]>[data-ambiance-toggle]::after{content:none}
html[data-portfolio-embed="shop"] :is(#portfolio-series-gallery,#portfolio-edition-gallery,#portfolio-wrap-gallery)[data-ambiance-equivalent="true"]>[data-ambiance-panel]{position:static;inset:auto;display:block;max-height:none;padding:0;overflow:hidden;border:0;border-radius:16px;background:#10212752;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
html[data-portfolio-embed="shop"] :is(#portfolio-series-gallery,#portfolio-edition-gallery,#portfolio-wrap-gallery)[data-ambiance-equivalent="true"]>[data-ambiance-panel][hidden]{display:none!important}
html[data-portfolio-embed="shop"] :is(#portfolio-series-gallery,#portfolio-edition-gallery,#portfolio-wrap-gallery)[data-ambiance-equivalent="true"] .portfolio-ambiance-equivalent-grid{display:flex;gap:10px;overflow-x:auto;padding:12px;max-height:38svh;box-sizing:border-box}
html[data-portfolio-embed="shop"] :is(#portfolio-series-gallery,#portfolio-edition-gallery,#portfolio-wrap-gallery)[data-ambiance-equivalent="true"] .portfolio-ambiance-equivalent-grid button{display:block;flex:0 0 92px;min-width:0;min-height:130px;margin:0;padding:8px;border:0;border-radius:10px;background:transparent;color:#ddd3c7;font:inherit;letter-spacing:1px;line-height:normal;white-space:normal;box-sizing:border-box}
html[data-portfolio-embed="shop"] :is(#portfolio-series-gallery,#portfolio-edition-gallery,#portfolio-wrap-gallery)[data-ambiance-equivalent="true"] .portfolio-ambiance-equivalent-grid button[aria-pressed="true"]{background:#ddd3c712;text-decoration:underline;text-underline-offset:5px}
html[data-portfolio-embed="shop"] :is(#portfolio-series-gallery,#portfolio-edition-gallery,#portfolio-wrap-gallery)[data-ambiance-equivalent="true"] .portfolio-ambiance-equivalent-grid button>span{min-height:0;line-height:normal}
html[data-portfolio-embed="shop"] :is(#portfolio-series-gallery,#portfolio-edition-gallery,#portfolio-wrap-gallery)[data-ambiance-equivalent="true"] .portfolio-edition-thumb{display:block;width:70px;height:98px;object-fit:contain;object-position:center;margin:0 auto 8px;border-radius:0}
html[data-portfolio-embed="shop"] #calendar-navigation,html[data-portfolio-embed="shop"] #calendar-navigation button{animation:none;transition:none}
html[data-portfolio-embed="shop"] :is(#portfolio-series-gallery,#portfolio-edition-gallery,#portfolio-wrap-gallery)[data-ambiance-equivalent="true"]>[data-ambiance-toggle]:hover{background:transparent}
/* q5b9: discover typography and centered card/wrap CTA, preserving button float. */
html[data-portfolio-embed="shop"] #portfolio-buy{text-transform:uppercase}
html[data-portfolio-embed="shop"] body:is(.portfolio-notes,.portfolio-wraps) #portfolio-commerce{left:50%;right:auto;bottom:134px;transform:translateX(-50%);max-width:calc(100% - 32px)}
@media(max-width:600px){html[data-portfolio-embed="shop"] body:is(.portfolio-notes,.portfolio-wraps) #portfolio-commerce{bottom:130px}}

/* s7d1: do not flash loading artwork before the public retained-frame lookup resolves. */
html[data-portfolio-embed="shop"][data-warm-check="pending"] #portfolio-loader>:not(#portfolio-loader-warm-preview){visibility:hidden!important}
/* One background blur only: the modal backdrop. The nested cardbox must not blur it again. */
html[data-portfolio-embed="shop"] #portfolio-digital-dialog .portfolio-digital-cardbox{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-portfolio-embed="shop"] #portfolio-digital-dialog::backdrop{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}

/* t8e2: text-only Series; use the available Edition width with wrapping rows. */
html[data-portfolio-embed="shop"] body #portfolio-card-choices{display:grid;grid-template-columns:176px minmax(0,1fr);gap:12px;align-items:end}
html[data-portfolio-embed="shop"] body #portfolio-card-choices>[data-ambiance-equivalent="true"]{width:auto;min-width:0}
html[data-portfolio-embed="shop"] body #portfolio-card-choices #portfolio-series-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;overflow:visible;max-height:none}
html[data-portfolio-embed="shop"] body #portfolio-card-choices #portfolio-series-grid .portfolio-edition-thumb{display:none}
html[data-portfolio-embed="shop"] body #portfolio-card-choices #portfolio-series-grid button{flex:1 1 56px;min-height:44px;padding:8px 6px;font-size:11px;line-height:1.35;letter-spacing:.02em}
html[data-portfolio-embed="shop"] body #portfolio-card-choices #portfolio-edition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,100px),1fr));gap:12px 10px;overflow-x:hidden;overflow-y:auto;max-height:min(58dvh,420px);scroll-snap-type:none}
html[data-portfolio-embed="shop"] body #portfolio-card-choices #portfolio-edition-grid button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-width:0;min-height:104px;padding:10px 8px;letter-spacing:.02em;line-height:1.35;scroll-snap-align:none}
html[data-portfolio-embed="shop"] body #portfolio-card-choices #portfolio-edition-grid button>span{display:block;min-height:0;margin:0;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
html[data-portfolio-embed="shop"] body #portfolio-card-choices #portfolio-edition-grid .portfolio-edition-thumb{display:block;width:100%;max-width:100px;height:auto;aspect-ratio:210/98;object-fit:contain;margin:0 auto}
@media(max-width:720px){html[data-portfolio-embed="shop"] body #portfolio-card-choices{grid-template-columns:minmax(0,1fr);gap:4px}html[data-portfolio-embed="shop"] body #portfolio-card-choices #portfolio-edition-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,76px),1fr))}}
/* Same product CTA position for Journals, no change to its own floating animation. */
html[data-portfolio-embed="shop"] body.portfolio-journal #portfolio-commerce{left:50%;right:auto;bottom:134px;transform:translateX(-50%);max-width:calc(100% - 32px)}
@media(max-width:600px){html[data-portfolio-embed="shop"] body.portfolio-journal #portfolio-commerce{bottom:130px}}
/* Anchor close to the same horizontal edge as the dialog's cardbox, never to the viewport. */
html[data-portfolio-embed="shop"] body #portfolio-digital-dialog[open] #portfolio-digital-close{position:absolute;right:0;left:auto;top:env(safe-area-inset-top,0px);transform:none}
/* Enabled state fades without changing layout, readiness, click guards or focusability. */
html[data-portfolio-embed="shop"] body.calendar-review :is(button,a[aria-disabled]){transition:opacity 480ms cubic-bezier(.22,1,.36,1)!important}
html[data-portfolio-embed="shop"] body.calendar-review :is(button:disabled,a[aria-disabled="true"]){opacity:.18}
html[data-portfolio-embed="shop"] body.calendar-review :is(button:not(:disabled),a[aria-disabled="false"]){opacity:1}
@media(prefers-reduced-motion:reduce){html[data-portfolio-embed="shop"] body.calendar-review :is(button,a[aria-disabled]){transition:none!important}}

/* z4k8: stacking only. Original pre-w1h5 positions remain in control. */
html[data-portfolio-embed="shop"] body :is(#portfolio-card-choices,#portfolio-wrap-gallery){z-index:40}






