/* Plantshop corporate 3D viewer. Kept separate so the WordPress candidate can
   enqueue the viewer without touching the theme or the existing service CSS. */
/* Shared four-page hero treatment. The image is full-width and the copy sits
   in an opaque paper panel so the headline remains readable at every crop. */
.ps-corp-3d .pscv2-hero{position:relative;display:block;max-width:none;min-height:clamp(560px,52vw,760px);overflow:hidden;background:#f4f2ec}
.ps-corp-3d .pscv2-hero-copy{position:absolute;z-index:2;left:50%;bottom:50%;transform:translate(-50%,50%);width:min(600px,calc(100% - 44px));padding:clamp(26px,3.3vw,48px);background:rgba(253,252,249,.97);border-left:3px solid #2d5016;box-shadow:0 18px 46px rgba(45,41,38,.12)}
.ps-corp-3d .pscv2-hero>.pscv2-figure{position:relative;width:100%;min-height:0;height:auto;aspect-ratio:16/9;max-height:760px;background:#dfe5d9}
.ps-corp-3d .pscv2-hero>.pscv2-figure img{height:100%;object-fit:cover}
.ps-corp-3d .pscv2-hero>.pscv2-figure::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,34,20,.18),transparent 55%),linear-gradient(0deg,rgba(20,34,20,.18),transparent 38%);pointer-events:none}
.ps-corp-3d .pscv2-hero>.pscv2-figure figcaption{z-index:1}
.ps-corp-3d .pscv2-hero .pscv2-lead{max-width:500px}
.ps-corp-3d .pscv2-hero .pscv2-actions{gap:10px 20px}
.ps-corp-3d .pscv2-hero .pscv2-footnote{max-width:500px}
@media(max-width:700px){
  .ps-corp-3d .pscv2-hero{display:flex;flex-direction:column-reverse;min-height:0;overflow:visible}
  .ps-corp-3d .pscv2-hero>.pscv2-figure{aspect-ratio:4/3;max-height:none}
  .ps-corp-3d .pscv2-hero>.pscv2-figure figcaption{top:12px;bottom:auto}
  .ps-corp-3d .pscv2-hero-copy{position:relative;left:auto;bottom:auto;transform:none;width:calc(100% - 28px);margin:-28px 14px 0;padding:24px 20px 28px;box-shadow:0 10px 28px rgba(45,41,38,.1)}
}
.ps3d{--ps3d-ink:#2d2926;--ps3d-body:#5a5049;--ps3d-muted:#5a5049;--ps3d-line:#ede8df;--ps3d-paper:#fdfcf9;--ps3d-tint:#f4f2ec;--ps3d-green:#2d5016;--ps3d-dark:#1a2e1a;--ps3d-gold:#c9a96e;max-width:1248px;margin:0 auto;padding:72px 36px 76px;color:var(--ps3d-body);background:var(--ps3d-paper);font-family:Inter,"Noto Sans TC","PingFang TC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;overflow:hidden}
.ps3d *,.ps3d *::before,.ps3d *::after{box-sizing:border-box}
.ps3d [hidden]{display:none!important}
.ps3d h2,.ps3d h3,.ps3d p{margin-top:0}
.ps3d h2,.ps3d h3{color:var(--ps3d-ink);letter-spacing:-.025em;text-wrap:balance}
.ps3d h2{font-size:clamp(27px,2.6vw,38px);line-height:1.25;margin-bottom:18px}
.ps3d h3{font-size:20px;line-height:1.35;margin-bottom:10px}
.ps3d p{margin-bottom:18px}
.ps3d a:focus-visible,.ps3d button:focus-visible{outline:3px solid var(--ps3d-ink);outline-offset:3px}
.ps3d-heading{max-width:760px;margin-bottom:30px}
.ps3d-heading .pscv2-eyebrow{display:block;color:var(--ps3d-green);font-size:12px;font-weight:700;letter-spacing:.1em;line-height:1.5;margin-bottom:12px;text-transform:uppercase}
.ps3d-heading p{max-width:680px;margin-bottom:0}
.ps3d-stage-wrap{min-width:0}
.ps3d-stage{position:relative;isolation:isolate;width:100%;aspect-ratio:16/9;min-height:360px;overflow:hidden;background:var(--ps3d-dark);border:1px solid var(--ps3d-line)}
.ps3d-poster{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;object-fit:cover;background:#dfe5d9}
.ps3d-canvas{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none}
.ps3d[data-state=ready] .ps3d-canvas{pointer-events:auto}
.ps3d-canvas canvas{display:block;width:100%;height:100%}
.ps3d-hotspots{position:absolute;z-index:4;inset:0;pointer-events:none}
.ps3d-hotspots button{position:absolute;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--ps3d-paper);background:var(--ps3d-green);color:#fff;font:inherit;font-size:13px;font-weight:700;line-height:1;text-align:center;cursor:pointer;pointer-events:auto;transform:translate(calc(-50% + var(--px,0)*3px),calc(-50% + var(--py,0)*3px))}
.ps3d-hotspots button:hover{background:var(--ps3d-dark)}
.ps3d-loading{position:absolute;z-index:5;top:14px;right:14px;max-width:calc(100% - 28px);margin:0;padding:7px 10px;background:rgba(253,252,249,.94);color:var(--ps3d-body);font-size:12px;line-height:1.4}
.ps3d-stage>.ps3d-status{position:absolute;z-index:6;top:14px;left:14px;max-width:calc(100% - 190px);margin:0;padding:7px 10px;background:rgba(253,252,249,.94);color:var(--ps3d-ink);font-size:12px;line-height:1.4}
.ps3d-start-overlay{position:absolute;z-index:6;left:clamp(16px,4vw,44px);bottom:clamp(16px,4vw,44px);max-width:min(430px,calc(100% - 32px));padding:22px 24px;background:rgba(253,252,249,.97);border-left:3px solid var(--ps3d-green)}
.ps3d-start-overlay .ps3d-status{margin:0 0 10px;color:var(--ps3d-ink);font-size:15px}
.ps3d-start-overlay .ps3d-help{margin:12px 0 0;color:var(--ps3d-muted);font-size:13px;line-height:1.55}
.ps3d-start-overlay [data-action=start]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid var(--ps3d-ink);background:var(--ps3d-ink);color:#fff;font:inherit;font-size:15px;font-weight:700;line-height:1.35;cursor:pointer}
.ps3d-start-overlay [data-action=start]:hover{background:var(--ps3d-dark);border-color:var(--ps3d-dark)}
.ps3d[data-state=loading] .ps3d-stage>.ps3d-status{display:none}
.ps3d-ui{display:flex;align-items:flex-start;gap:12px 18px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--ps3d-line)}
.ps3d-control-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.ps3d-control-group>span{color:var(--ps3d-muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ps3d-ui button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:9px 13px;border:1px solid var(--ps3d-line);background:var(--ps3d-paper);color:var(--ps3d-ink);font:inherit;font-size:13px;font-weight:650;line-height:1.25;cursor:pointer}
.ps3d-ui button:hover:not(:disabled){border-color:var(--ps3d-green);color:var(--ps3d-green)}
.ps3d-ui button[aria-pressed=true],.ps3d-ui button.is-active{background:var(--ps3d-green);border-color:var(--ps3d-green);color:#fff}
.ps3d-ui button:disabled{opacity:.42;cursor:not-allowed}
.ps3d-info{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:24px;margin-top:24px}
.ps3d-detail{min-width:0;padding:24px;background:var(--ps3d-tint);border:1px solid var(--ps3d-line)}
.ps3d-detail h3{margin-bottom:10px}
.ps3d-detail p{margin-bottom:0}
.ps3d-hotspot-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;border-top:1px solid var(--ps3d-line)}
.ps3d-hotspot-articles article{min-width:0;padding:20px 0;border-bottom:1px solid var(--ps3d-line)}
.ps3d-hotspot-articles article>span{display:block;margin-bottom:8px;color:var(--ps3d-green);font-size:12px;font-weight:700;letter-spacing:.1em}
.ps3d-hotspot-articles article p{margin-bottom:0;font-size:14px;line-height:1.6}
@media(max-width:760px){
  .ps3d{padding:52px 22px 58px}
  .ps3d-stage{min-height:0}
  .ps3d-info{grid-template-columns:1fr}
  .ps3d-hotspot-articles{grid-template-columns:1fr}
}
@media(max-width:430px){
  .ps3d{padding-inline:14px}
  .ps3d-heading{margin-bottom:22px}
  .ps3d-heading h2{font-size:27px}
  .ps3d-stage{aspect-ratio:4/3}
  .ps3d-start-overlay{left:12px;right:12px;bottom:12px;max-width:none;padding:18px}
  .ps3d-start-overlay [data-action=start]{width:100%}
  .ps3d-ui{display:block}
  .ps3d-control-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}
  .ps3d-control-group:last-child{margin-bottom:0}
  .ps3d-control-group>span{grid-column:1/-1}
  .ps3d-ui button{width:100%;min-width:0;padding-inline:8px;font-size:12px}
  .ps3d-detail{padding:20px}
}
@media(prefers-reduced-motion:reduce){.ps3d *,.ps3d *::before,.ps3d *::after{transition:none!important;animation:none!important}}
