.tcfotos-form{margin:18px 0 20px;padding:18px;border:1px solid #e5ddec;border-radius:14px;background:#fff;color:#252031;max-width:100%}
.tcfotos-form *{box-sizing:border-box}
.tcfotos-form h3{font-size:21px;margin:0 0 6px;font-weight:750}
.tcfotos-sub{font-size:14px;color:#574c5d;margin:0 0 16px}
.tcfotos-sizes{border:0;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.tcfotos-sizes legend{font-size:15px;font-weight:750;margin-bottom:10px;float:none;padding:0;width:100%}
.tcfotos-size{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:2px solid #e8deec;border-radius:11px;padding:11px 9px;cursor:pointer;position:relative;font-weight:600;background:white;min-width:0}
.tcfotos-size:has(input:checked){border-color:#981897;background:#faf0fa}
.tcfotos-size input{accent-color:#971b94;margin:0}
.tcfotos-size-label{font-size:16px;line-height:1.35;white-space:nowrap}
.tcfotos-size-price{font-size:13px;color:#5b4760;line-height:1.3}
.tcfotos-size-price .woocommerce-Price-amount{font-weight:700}
.tcfotos-upload{padding:14px;border:1px solid #d9e4ee;border-radius:11px;background:#f8fbfe}
.tcfotos-step{margin:0 0 4px;font-size:15px}
.tcfotos-help{font-size:12px;color:#536177;margin:0 0 12px}
#tcfotos-picker{display:block;width:100%;background:white;border:1px dashed #91a7c3;border-radius:8px;padding:12px;font-size:13px}
#tcfotos-status:not(:empty){margin-top:10px;padding:8px 10px;border-radius:7px;font-size:13px}
#tcfotos-status.tcfotos-error{background:#fff0ef;color:#962b25}
#tcfotos-status.tcfotos-ok{background:#e8f6ed;color:#276140}
.tcfotos-files-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:#243448;font-size:13px}
.tcfotos-files-head small{font-size:12px;color:#596c83;text-align:right}
.tcfotos-list{display:grid;gap:9px;margin-top:10px}
.tcfotos-file{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:9px;background:white;border:1px solid #e3e9f0;border-radius:10px;padding:8px}
.tcfotos-image{border:0;padding:0;background:#f4f4f4;border-radius:7px;width:72px;height:72px;cursor:zoom-in;overflow:hidden}
.tcfotos-image img{width:100%;height:100%;object-fit:cover}
.tcfotos-file-info{min-width:0;line-height:1.4}
.tcfotos-file-info strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tcfotos-file-info small{font-size:11px;color:#6c7481;display:block}
.tcfotos-controls{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.tcfotos-controls label{display:flex;align-items:center;gap:5px;font-size:12px;margin:0}
.tcfotos-controls input{width:60px;min-width:0;padding:4px;border:1px solid #c9d2df;border-radius:6px;text-align:center;font-size:13px}
.tcfotos-controls button.tcfotos-remove{border:0;background:transparent;color:#982b38;padding:3px;font-size:12px;cursor:pointer}
.tcfotos-summary{margin:14px 0 8px;background:#f2e9f4;border-radius:10px;padding:12px;display:grid;gap:4px}
.tcfotos-summary>span{font-size:13px;font-weight:600}
.tcfotos-summary>strong{font-size:25px;font-weight:800;color:#741174}
.tcfotos-summary>small{font-size:12px;color:#60446a}
.tcfotos-technical{font-size:12px!important;color:#61576a;margin:0!important;line-height:1.5}
.tcfotos-modal[hidden]{display:none!important}
.tcfotos-modal{position:fixed;inset:0;background:rgba(15,12,17,.83);z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px}
.tcfotos-dialog{position:relative;background:#fff;border-radius:14px;padding:18px;max-width:min(92vw,850px);width:100%;max-height:95vh;display:flex;flex-direction:column;align-items:center;gap:10px}
.tcfotos-dialog img{object-fit:contain;width:auto;max-width:100%;max-height:67vh}
.tcfotos-dialog p{margin:0;font-size:13px;max-width:100%;overflow-wrap:anywhere}
.tcfotos-dialog button.tcfotos-continue{border:0;background:#111;color:#fff;border-radius:25px;padding:11px 26px;cursor:pointer;font-weight:700}
.tcfotos-close{position:absolute;top:5px;right:9px;font-size:30px!important;color:#222!important;background:transparent!important;border:0!important;cursor:pointer;padding:3px!important}
body.tcfotos-modal-open{overflow:hidden}
@media(max-width:650px){.tcfotos-form{padding:12px}.tcfotos-sizes{gap:5px}.tcfotos-size{padding:9px 6px}.tcfotos-size-label{font-size:13px}.tcfotos-size-price{font-size:11px}.tcfotos-file{grid-template-columns:60px minmax(0,1fr);gap:8px}.tcfotos-image{width:60px;height:60px}.tcfotos-controls{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;padding-left:2px}.tcfotos-file-info small{font-size:10px}}

/* 1.1.0: long photo lists are closed until the customer chooses to review them. */
.tcfotos-files-disclosure{margin-top:12px;border:1px solid #d9e4ee;border-radius:9px;background:#fff;overflow:hidden}
.tcfotos-files-disclosure>.tcfotos-files-head{cursor:pointer;margin:0;padding:11px 12px;list-style:none;gap:8px}
.tcfotos-files-disclosure>.tcfotos-files-head::-webkit-details-marker{display:none}
.tcfotos-files-disclosure>.tcfotos-files-head::before{content:'▸';font-size:12px;color:#8e218c;margin-right:2px}
.tcfotos-files-disclosure[open]>.tcfotos-files-head::before{content:'▾'}
.tcfotos-files-disclosure>.tcfotos-list{padding:0 10px 12px;max-height:420px;overflow-y:auto;margin-top:0;scrollbar-width:thin}
.tcfotos-files-disclosure>.tcfotos-files-head:focus-visible{outline:2px solid #8e218c;outline-offset:-3px}
.tcfotos-cart-details{margin:7px 0 2px;font-size:13px;max-width:100%}
.tcfotos-cart-details summary{cursor:pointer;color:#8b1b87;font-weight:700}
.tcfotos-cart-details ol{margin:8px 0;padding:7px 8px 7px 29px;max-height:230px;overflow-y:auto;background:#f8f5fa;border-radius:8px;overflow-wrap:anywhere;font-size:12px}
.tcfotos-cart-details li{padding:2px 0}
.tcfotos-cart-details small{color:#666}
