.config-photo-section{margin:24px 0 20px;padding-top:22px;border-top:1px solid var(--config-line,#e8e8e8)}
.config-photo-section h3{display:flex;align-items:center;gap:10px;font-size:.9rem;margin:0 0 8px}
.config-photo-section h3 small{font-size:.62rem;font-weight:500;color:#888}
.config-photo-section>p{font-size:.73rem;line-height:1.6;color:#73737d;margin:0 0 15px}
.photo-picker__choose{position:relative;display:flex;align-items:center;gap:13px;padding:19px;border:1px dashed #d7a5a5;border-radius:14px;background:#fffafa;color:#a70000;cursor:pointer;overflow:hidden}
.photo-picker__choose:hover{background:#fff2f2;border-color:#be0000}
.photo-picker__choose:focus-within{outline:3px solid #e65a62;outline-offset:3px}
.photo-picker__choose input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.photo-picker__choose>span:first-of-type{display:grid;gap:5px;flex:1}.photo-picker__choose strong{font-size:.8rem}.photo-picker__choose small{font-size:.66rem;color:#85858c}.photo-picker__choose>span:last-child{font-size:1.4rem}
.photo-picker__rules{font-size:.62rem;line-height:1.7;color:#85858c;margin:10px 0 0}
.photo-picker__previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:14px 0 0}.photo-picker__previews:empty{display:none}
.photo-picker__previews li{position:relative;min-width:0;border:1px solid #e6e6e6;border-radius:10px;overflow:hidden;background:#fff}
.photo-picker__previews img{display:block;width:100%;height:95px;object-fit:cover}.photo-picker__previews small{display:block;padding:8px;font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#777}
.photo-picker__previews button{position:absolute;right:5px;top:5px;width:27px;height:27px;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#a70000;font-size:18px;cursor:pointer}
.photo-picker__status{font-size:.66rem;color:#777;margin-top:10px}.photo-picker__error,.photo-upload-error{padding:12px;border-radius:10px;background:#fff0f0;color:#a70000;font-size:.75rem;line-height:1.5}
.photo-picker__clear{border:0;padding:8px 0;background:none;color:#a70000;text-decoration:underline;font:inherit;font-size:.66rem;cursor:pointer}
.photo-upload-page{min-height:65vh;padding:65px 20px 85px;background:radial-gradient(ellipse at top right,#f9eaea,transparent 65%),#f7f7f7}
.photo-upload-card{width:min(100%,650px);margin:auto;padding:44px;border:1px solid #ece4e4;border-radius:26px;background:#fff;box-shadow:0 18px 60px #00000008}
.photo-upload-card h1{font-size:clamp(2rem,5vw,2.9rem);line-height:1.08;letter-spacing:-.04em;margin:18px 0}
.photo-upload-card>p{font-size:.9rem;line-height:1.75;color:#73737d}.photo-upload-card a:not(.btn){text-decoration:underline;text-underline-offset:3px}
.photo-tips{display:grid;gap:10px;padding:20px;border-radius:14px;background:#faf7f7;font-size:.76rem;margin:24px 0}.photo-tips>span::before{content:'✓';color:#be0000;margin-right:9px}
.photo-upload-card .photo-upload-count{font-size:.73rem;color:#73737d}.photo-upload-card form>.btn{width:100%;font-family:inherit;border:0;cursor:pointer;margin-top:20px;font-size:.86rem;gap:15px}.photo-upload-card .btn:disabled{opacity:.6;cursor:wait}
.photo-upload-privacy{display:block;text-align:center;font-size:.63rem;line-height:1.7;color:#85858c;margin-top:15px}
.photo-upload-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.photo-upload-success{margin-top:25px;padding:25px;border-radius:16px;background:#f0f8f2;outline:none}.photo-upload-success>span{color:#258345;font-size:2rem}.photo-upload-success h2{font-size:1.4rem;text-transform:none;font-style:normal}.photo-upload-success p{color:#57645b;line-height:1.7;font-size:.85rem}
.photo-picker [hidden],.photo-upload-card [hidden]{display:none!important}
@media(max-width:600px){.photo-upload-page{padding:30px 15px 50px}.photo-upload-card{padding:28px 22px}.photo-picker__previews{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-picker__choose{padding:16px}.photo-upload-card .btn{min-width:0}}
