.photo-guide-toolbar{display:grid;grid-template-columns:1fr auto;gap:12px 20px;align-items:center;margin:24px 0 16px;padding:18px 0;border-top:1px solid #d9cba9;border-bottom:1px solid #d9cba9}.photo-guide-toolbar strong{font-size:20px;color:#171717}.photo-guide-toolbar p{margin:4px 0 0;font-size:14px}.photo-guide-progress{grid-column:1/-1;display:flex;align-items:center;gap:14px;font-size:14px}.photo-guide-progress progress{width:180px;height:8px;accent-color:#7b6124;border:0;border-radius:4px;overflow:hidden}.photo-guide-progress progress::-webkit-progress-bar{background:#e8e5dc}.photo-guide-progress progress::-webkit-progress-value{background:#7b6124}.photo-guide.photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch;margin-bottom:12px}.photo-guide .photo-slot{min-width:0;display:flex;flex-direction:column;padding:14px;border:1px solid #d5cbb8;border-radius:8px;background:#fff;gap:0}.photo-guide .photo-slot.has-photo{border-color:#718965}.photo-guide .photo-slot-title{font-family:inherit;font-size:16px;font-weight:650;line-height:1.3;margin:0;letter-spacing:0;min-height:22px}.photo-slot-status{display:block;font-size:12px;color:#6f6550;margin:4px 0 12px;min-height:20px}.has-photo .photo-slot-status{color:#345c35}.photo-guide-stage{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;border-radius:6px;background:#f1f3f3}.photo-guide-stage>div{position:absolute;inset:0}.photo-guide-stage img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important}.photo-demo-image{background-image:url('photo-angle-demo.png');background-size:300% 100%;background-repeat:no-repeat;background-position:0 50%}.photo-demo-image.angle-1{background-position:50% 50%}.photo-demo-image.angle-2{background-position:100% 50%}.photo-demo-image.angle-3{background-size:450% 150%;background-position:50% 45%}.photo-demo-image.angle-4{background-size:450% 150%;background-position:100% 45%}.photo-demo-image span{position:absolute;left:8px;top:8px;padding:2px 8px;background:#fffffff2;color:#333;font-size:11px;border-radius:3px}.photo-guide-tip{font-size:13px;line-height:1.45;margin:12px 0!important;min-height:38px;color:#545454}.photo-guide .photo-upload-control{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;background:#191919;color:white;border:1px solid #191919;border-radius:6px;min-height:44px;padding:8px;margin:auto 0 0;cursor:pointer;font-size:14px;line-height:1.3;overflow:hidden}.photo-plus{font-size:22px;line-height:1}.photo-guide .photo-upload-control input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0;font-size:16px}.photo-upload-control:focus-within{outline:3px solid #b0862f;outline-offset:3px}.photo-guide [data-remove]{min-height:36px;margin:8px 0 0;padding:5px 10px;font-size:13px;border-radius:6px}.photo-guide [hidden]{display:none!important}.photo-demo-caption{font-size:12px;color:#666;margin:0 0 28px!important}.photo-demo-dialog{border:1px solid #b5a277;border-radius:8px;background:#fff;color:#171717;width:min(760px,calc(100% - 24px));max-height:90vh;padding:24px;overflow:auto}.photo-demo-dialog::backdrop{background:#0009}.photo-demo-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.photo-demo-heading h2{font-size:26px;letter-spacing:0;margin:0}.photo-demo-heading button{padding:7px 14px;min-height:40px}.photo-demo-dialog img{width:100%;height:auto;display:block}.photo-demo-labels{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;font-size:13px;margin:8px 0 22px}.photo-demo-dialog p,.photo-demo-dialog li{font-size:15px;line-height:1.6}.photo-demo-dialog small{display:block;font-size:12px}@media(max-width:1000px){.photo-guide.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.photo-guide.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-guide .photo-slot{padding:10px}.photo-guide-toolbar{grid-template-columns:1fr}.photo-guide-toolbar button{justify-self:start}.photo-guide-progress{flex-wrap:wrap}.photo-guide .photo-slot-title{font-size:15px;min-height:40px}.photo-guide-tip{min-height:57px}.photo-demo-dialog{padding:16px}.photo-demo-labels{font-size:11px}.photo-demo-heading h2{font-size:22px}}@media(prefers-reduced-motion:no-preference){.photo-guide .has-photo{animation:photo-added .2s ease-out}@keyframes photo-added{from{opacity:.7}to{opacity:1}}}
