.photo-layout-wrapper{max-width:1400px}.upload-area{border:2px dashed var(--brand);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:rgba(var(--brand-rgb),.05)}.upload-area:hover{background:rgba(var(--brand-rgb),.1);border-color:var(--brand-strong)}.upload-area i{font-size:2.5rem;color:var(--brand);margin-bottom:.5rem;display:block}.upload-area p{margin-bottom:.25rem;color:var(--bi-text)}.upload-area.has-image{border-color:#27ae60;background:#27ae600d}.upload-area.has-image i{color:#27ae60}.color-options{display:flex;gap:12px;flex-wrap:wrap}.color-option{width:40px;height:40px;border-radius:50%;cursor:pointer;position:relative;transition:transform .2s ease;box-shadow:0 2px 5px #0000001a}.color-option:hover{transform:scale(1.1)}.color-option.active{box-shadow:0 0 0 3px var(--brand)}.color-option i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:1.2rem;opacity:0;transition:opacity .2s ease}.color-option.active i{opacity:1}.preview-canvas{max-width:100%;max-height:500px;border-radius:8px;box-shadow:0 4px 15px #0000001a}.preview-card .card-body{min-height:400px;display:flex;flex-direction:column;justify-content:center;align-items:center}.preview-info{color:var(--bi-text-muted)}.preview-info .info-item{display:inline-block;margin:0 1rem;padding:.5rem 1rem;background:var(--bi-surface-2);border-radius:20px;font-size:.9rem}.print-area{display:none}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{display:block;position:absolute;left:0;top:0;width:100%}}@media (max-width: 991.98px){.preview-card .card-body{min-height:300px}.preview-canvas{max-height:350px}}@media (max-width: 767.98px){.upload-area{padding:1.5rem}.upload-area i{font-size:2rem}.color-options{gap:8px}.color-option{width:35px;height:35px}}html[data-theme=dark] .upload-area.has-image{border-color:#75b798;background:#27ae6026}html[data-theme=dark] .upload-area.has-image i{color:#75b798}
