/* ---- 3D window card ---- */
.wc-std .wc-slot,.wc-std .wc-ao,.wc-std .wc-ftext,.wc-std .wc-guide,.wc-std .wc-addph,.wc-std .wc-cast,.wc-no-window-cut .wc-slot,.wc-no-window-cut .wc-ao,.wc-no-window-cut .wc-ftext,.wc-no-window-cut .wc-guide,.wc-no-window-cut .wc-addph,.wc-no-window-cut .wc-cast{display:none!important}
.wc-std .wc-intext{top:24%!important;height:52%!important}.wc-std .wc-intext .g,.wc-std .wc-intext .n{color:var(--ink)!important}
.wc-root{position:relative;perspective:1700px;perspective-origin:50% 45%;--sx:50%}
.wc-card{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.wc-base,.wc-cover{position:absolute;inset:0;transform-style:preserve-3d}
.wc-cover{transform-origin:0 50%}
.wc-root.land .wc-cover{transform-origin:50% 0}
.wc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;background:#fbf8f3}
.wc-core{position:absolute;inset:0;background:#e9e1d3;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.wc-corecut{background:#efe8dc}
.wc-print{position:absolute;inset:0;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.wc-front{background:transparent!important;overflow:visible}
.wc-inl{-webkit-mask-size:100% 100%;mask-size:100% 100%;background:#fbf8f3}
.wc-shade{position:absolute;inset:0;background:#1c120c;opacity:0;pointer-events:none}
.wc-sheen{position:absolute;inset:0;pointer-events:none;opacity:.22;
  background:linear-gradient(112deg,transparent 30%,rgba(255,255,255,.55) 46%,transparent 62%) var(--sx) 0/300% 100% no-repeat}
.pearl .wc-sheen{opacity:.55;background:
  linear-gradient(112deg,transparent 24%,rgba(255,236,246,.4) 37%,rgba(214,236,255,.42) 44%,rgba(255,255,255,.6) 50%,rgba(222,255,236,.38) 57%,transparent 68%) var(--sx) 0/320% 100% no-repeat;mix-blend-mode:screen}
.pearl .wc-face{background-color:#fcf9f6}
/* inside right */
.wc-slot{position:absolute;overflow:hidden;background:#ece6dc}
.wc-photo{position:absolute;background-size:100% 100%;background-repeat:no-repeat}
.wc-photo.lowres{filter:saturate(.92)}
.wc-ao{position:absolute;inset:0;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%;opacity:0}
.wc-cast{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(90deg,rgba(25,15,8,.55),rgba(25,15,8,.12) 35%,transparent 70%)}
.land .wc-cast{background:linear-gradient(180deg,rgba(25,15,8,.55),rgba(25,15,8,.12) 35%,transparent 70%)}
.wc-intext{position:absolute;left:6%;right:6%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#3f3531;gap:calc(var(--u)*8)}
.wc-intext .g{font-family:'Great Vibes',cursive;font-size:calc(var(--u)*40);line-height:1.05;color:#9c2622}
.wc-intext .n{font-family:'Playfair Display',Georgia,serif;font-size:calc(var(--u)*17);letter-spacing:.22em;text-transform:uppercase}
.land .wc-intext .g{font-size:calc(var(--u)*34)}
.wc-inlmsg{position:absolute;left:10%;right:10%;bottom:8%;text-align:center;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:calc(var(--u)*19);line-height:1.45;color:#4a3f3a}
.wc-guide{position:absolute;inset:0;pointer-events:none}
.wc-guide svg{width:100%;height:100%;display:block}
.wc-guidelbl{position:absolute;left:50%;transform:translate(-50%,-100%);background:#2f5745;color:#fff;font:600 11px/1 'Source Sans Pro',sans-serif;padding:4px 8px;border-radius:10px;white-space:nowrap;letter-spacing:.02em}
/* front text */
.wc-ftext{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center}
.wc-ftext .plate{position:absolute;left:14%;right:14%;top:8%;bottom:8%;border-radius:calc(var(--u)*6);box-shadow:0 0 0 calc(var(--u)*3) rgba(255,255,255,.25)}
.wc-ftext .t{position:relative;white-space:nowrap}
.wc-ftext.f-script .t{font-size:calc(var(--u)*56)}
.wc-ftext.f-serif .t{font-size:calc(var(--u)*32);letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.wc-ftext.f-sans .t{font-size:calc(var(--u)*26);letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.land .wc-ftext.f-script .t{font-size:calc(var(--u)*50)}
.land .wc-ftext .plate{left:24%;right:24%}
/* back */
.wc-backband{position:absolute;left:0;right:0;top:0;height:14%}
.wc-backmark{position:absolute;left:0;right:0;bottom:7%;text-align:center;font-family:'Playfair Display',Georgia,serif;color:#54ba82;font-size:calc(var(--u)*24)}
.wc-backmark .b1{color:#f16650}
.wc-backmark small{display:block;font:400 calc(var(--u)*12)/1.6 'Source Sans Pro',sans-serif;color:#8f817b;letter-spacing:.06em}
.wc-ground{position:absolute;left:4%;right:4%;bottom:-5%;height:9%;border-radius:50%;background:radial-gradient(closest-side,rgba(60,40,28,.32),rgba(60,40,28,0));filter:blur(6px);transform-origin:0 50%;pointer-events:none}

/* back layouts (live Select Layout set) */
.wc-blay{position:absolute;inset:0}
.wc-bph,.wc-bshape{position:absolute;background-size:cover;background-repeat:no-repeat;background-color:#ece6dc}
.wc-bshape{inset:0;background-color:transparent;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:0 0;mask-position:0 0}
.wc-btx{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Playfair Display',Georgia,serif;font-style:italic;line-height:1.35;color:#4a3f3a;overflow:hidden}
.wc-btx span{display:block;padding:0 4%}
.wc-btx-big{line-height:1.6}
.wc-backmark.onphoto{bottom:0;padding:1.5% 0 2.5%;background:#fffdf9}
.wc-blay~.wc-backmark{bottom:2.5%;font-size:calc(var(--u)*19)}
.wc-blay~.wc-backmark small{font-size:calc(var(--u)*10)}
.wc-blay~.wc-backmark.onphoto{bottom:0}
.wc-back[data-layout=p1] .wc-backband{display:none}
.wc-inlnote{display:none;position:absolute;left:0;right:0;text-align:center;font:600 calc(var(--u)*13)/1 'Source Sans Pro',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#b3a79c}
/* inside right: white-bordered photo frame (larger than the window) on a light version of the back-panel pattern */
.wc-slot.framed{box-shadow:0 0 0 calc(var(--u)*9) #fff,0 calc(var(--u)*2) calc(var(--u)*12) calc(var(--u)*9) rgba(60,40,28,.16)}
.wc-intext .m{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:calc(var(--u)*24);line-height:1.35;color:#4a3f3a;white-space:pre-wrap;word-break:break-word;max-width:100%;outline:none}
.land .wc-intext .m{font-size:calc(var(--u)*22)}
/* only the printed faces take pointer input: the paper core and the inside-left panel never block the greeting or the inside text box */
.wc-core,.wc-inl,.wc-ao,.wc-sheen,.wc-shade{pointer-events:none}

/* Sep 29 2026: live TEXT OPTIONS, text blocks */
.wc-ftext .t{white-space:pre;display:inline-block}
.wc-ftext.wc-del .plate{display:none}
.wc-intext .g,.wc-intext .n{white-space:pre-wrap}
.wc-tbox{position:absolute;transform:translate(-50%,-50%);white-space:pre;font-family:Georgia,'Times New Roman',serif;font-size:calc(var(--u)*16.667);line-height:1.15;color:#000;text-align:center;z-index:4}

/* Sep 29 2026: empty back photo slot = live ADD PHOTO placeholder */
.wc-bph.wc-bph-empty,.wc-bshape.wc-bph-empty{background:#cbc4c2!important;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;z-index:2}
.wc-bph-empty .wc-addph-plus{width:calc(var(--u)*44);height:calc(var(--u)*44)}
.wc-bph-empty .wc-addph-t,.wc-bph-empty.hov .wc-addph-t:after,.wc-bph-empty:hover .wc-addph-t:after{font-size:calc(var(--u)*17)}
.wc-bph-empty.hov .wc-addph-t,.wc-bph-empty:hover .wc-addph-t{font-size:0}
