/* Tapzy V14 — Photo Ready shared visual system */
.tz-photo-slot{position:relative;width:100%;aspect-ratio:var(--tz-photo-ratio,4/3);overflow:hidden;background:#0B121D;border:1px solid rgba(199,154,59,.28)}
.tz-photo-slot__image{display:block;width:100%;height:100%;object-fit:cover}
.tz-photo-slot__empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:radial-gradient(circle at 72% 18%,rgba(199,154,59,.12),transparent 34%),linear-gradient(145deg,#101927,#070C14);color:#F7F7F5}
.tz-photo-slot__empty:before,.tz-photo-slot__empty:after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(199,154,59,.1);border-radius:50%}.tz-photo-slot__empty:before{width:190px;height:190px;right:-80px;top:-95px}.tz-photo-slot__empty:after{width:130px;height:130px;left:-70px;bottom:-65px}
.tz-photo-slot__icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(199,154,59,.45);color:#C79A3B;margin-bottom:14px}.tz-photo-slot__icon svg{width:24px;height:24px}.tz-photo-slot__empty strong{position:relative;color:#C79A3B;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.tz-photo-slot__empty span{position:relative;max-width:330px;margin-top:8px;color:#929BA7;font-size:10px;line-height:1.45}.tz-photo-slot.has-image:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.tz-photo-slot--cream{background:#ECE8E0;border-color:#D8D1C5}.tz-photo-slot--cream .tz-photo-slot__empty{background:linear-gradient(145deg,#F5F1E8,#E8E1D5);color:#060B14}.tz-photo-slot--cream .tz-photo-slot__empty span{color:#747A82}.tz-photo-slot--cream .tz-photo-slot__empty:before,.tz-photo-slot--cream .tz-photo-slot__empty:after{border-color:rgba(6,11,20,.08)}
.tz-photo-slot--round{border-radius:18px}.tz-photo-slot--soft{border-radius:12px}.tz-photo-slot--hero{min-height:430px}.tz-photo-slot--product{aspect-ratio:4/5}.tz-photo-slot--square{aspect-ratio:1}.tz-photo-slot--wide{aspect-ratio:16/9}.tz-photo-slot--scene{aspect-ratio:3/2}
@media(max-width:700px){.tz-photo-slot__empty{padding:18px}.tz-photo-slot__empty span{font-size:9px}.tz-photo-slot--hero{min-height:0;aspect-ratio:4/3}}
