/* Préparation privée des photos : aucune image transmise au serveur. */
.photo-prep{background:#f0f5f9;border-top:1px solid #d5e3ed;border-bottom:1px solid #d5e3ed}
.photo-prep-inner{max-width:1120px;margin:auto;padding:66px 24px;color:#1d3453}
.photo-prep-heading{max-width:760px;margin:0 auto 26px;text-align:center}
.photo-prep-heading h2{font:normal clamp(30px,4vw,46px)/1.18 Georgia,serif;color:#142d4c;margin:10px 0 18px}
.photo-prep-heading p{font-size:13px;line-height:1.8;color:#53687e}
.photo-prep-notice{background:#fff9ea;border-left:3px solid #c9a45c;padding:14px 19px;font-size:12px;line-height:1.75;margin:22px auto;max-width:880px}
.photo-prep-start,.photo-workspace{max-width:900px;margin:0 auto}
.photo-prep-start{padding:26px;background:#fff;border:1px solid #d6e3ef;border-radius:9px}
.photo-prep label{font-size:12px;color:#1d3453;font-weight:600;display:block;margin:0 0 15px}
.photo-prep input:not([type=file]),.photo-prep select,.photo-prep textarea{display:block;width:100%;padding:11px 13px;border:1px solid #aec4d6;border-radius:5px;background:white;color:#22324a;margin-top:7px;font-size:16px}
.photo-prep input[type=file]{display:block;width:100%;margin:9px 0;padding:13px;border:2px dashed #9fbdd4;background:#f7fbff;border-radius:6px;font-size:13px;color:#213f58}
.photo-prep .photo-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.photo-prep .photo-help{font-size:11px;color:#526b7e;line-height:1.65;margin:7px 0 13px}
.photo-prep-status{font-size:12px;color:#173f60;min-height:2em}
.photo-workspace{margin:18px auto 0;padding:23px;background:white;border:1px solid #d6e3ef;border-radius:9px}
.photo-strip{display:flex;gap:10px;overflow-x:auto;padding:8px 0 15px}
.photo-strip-button{min-width:110px;max-width:130px;background:#eef5fa;border:2px solid transparent;border-radius:6px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:7px;font-size:10px;line-height:1.25;color:#213e5b}
.photo-strip-button[aria-pressed=true]{border-color:#b58e4b;background:#fff9e9}
.photo-strip-button img{width:94px;height:60px;object-fit:contain}
.photo-board-container{display:flex;justify-content:center}
.photo-board{position:relative;display:inline-block;max-width:100%;min-width:120px;line-height:0;cursor:crosshair;touch-action:manipulation}
.photo-board>img{width:auto;height:auto;max-width:100%;max-height:440px;display:block}
.photo-pin-layer{position:absolute;inset:0;pointer-events:none}
.photo-face-pin{pointer-events:auto;position:absolute;transform:translate(-50%,-50%);border:2px solid white;border-radius:25px;padding:5px 9px;min-height:33px;background:#164c7de8;color:#fff;font-size:12px;line-height:1.2;box-shadow:0 2px 8px #0006;max-width:125px;overflow-wrap:anywhere}
.photo-face-pin:focus-visible{outline:3px solid #d0a14f}
.photo-persons{font-size:12px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.photo-persons li{display:flex;align-items:center;gap:8px;background:#eaf3fa;border-radius:20px;padding:6px 10px}
.photo-persons button,.photo-plain-button{border:1px solid #b4cadc;background:#fff;border-radius:5px;padding:8px 11px;color:#183f5e;font-size:11px;min-height:39px}
.photo-marker-editor{background:#f6f9fc;padding:16px;margin:12px 0;border:1px solid #cddce8;border-radius:6px}
.photo-marker-editor h3{font-size:16px;margin:0 0 12px}
.photo-marker-actions{display:flex;flex-wrap:wrap;gap:10px}
.photo-prep-primary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;background:#183f69;color:white;border:1px solid #183f69;border-radius:5px;padding:11px 16px;font-size:12px;font-weight:600;line-height:1.3;text-align:center}
.photo-prep-primary:disabled{opacity:.5}
.photo-workspace-footer{border-top:1px solid #e0e7ed;margin-top:17px;padding-top:18px}
.photo-export-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.photo-workspace p,.photo-prep-start p{font-size:12px}
@media(max-width:600px){.photo-prep-inner{padding:44px 18px}.photo-prep-start,.photo-workspace{padding:16px}.photo-prep .photo-cols{grid-template-columns:1fr;gap:0}.photo-board>img{max-height:360px}.photo-prep-heading h2{font-size:30px}.photo-export-actions>*{flex:1}}


/* One integrated order, mobile first. */
.order-progress{margin:0 0 28px}.order-progress p{font-size:12px;font-weight:700;color:#244c70}.order-progress progress{width:100%;height:6px;accent-color:#347ead;border:0}.order-step h3{font:normal 29px/1.2 Georgia,serif;color:#163b60;margin:0 0 24px}.order-step>p{font-size:14px;line-height:1.65}.order-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 10px}.order-actions .button{flex:1}.order-step[hidden],.order-actions button[hidden]{display:none}.order-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.order-photo-card{min-width:0;border:1px solid #cadce9;padding:10px;border-radius:8px;background:#f4f9fd}.order-photo-card img{width:100%;height:170px;object-fit:contain;background:white}.order-photo-card strong{display:block;font-size:12px;margin:8px 0}.order-photo-actions{display:flex;gap:5px;flex-wrap:wrap}.order-photo-actions button{padding:8px;min-width:35px}.order-person{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px 0;border-bottom:1px solid #d9e7f1;margin-bottom:10px;font-size:14px}.order-person span{grid-column:1;color:#4c667b;font-size:12px}.order-person button{grid-column:2;grid-row:1/3}.photo-upload-button{width:100%;margin:12px 0;min-height:58px}.order-step .photo-board-container{margin:18px 0;min-width:0}.order-step .photo-board>img{max-height:560px;max-width:100%;width:auto;height:auto}.order-step .photo-board{line-height:0}.photo-face-pin{transform:translate(-50%,-115%);border-radius:6px;overflow:visible;max-width:130px}.photo-face-pin:after{content:'';position:absolute;left:50%;bottom:-11px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:10px solid #164c7d}.person-dialog{border:1px solid #b2cee2;border-radius:14px;max-width:540px;width:calc(100% - 32px);padding:24px;max-height:90dvh;overflow:auto;color:#183e60;background:#fff}.person-dialog::backdrop{background:#0a2249a6;backdrop-filter:blur(4px)}.person-dialog h3{font:normal 29px Georgia,serif;margin:0 0 20px}.person-dialog label{display:block;font-size:13px;line-height:1.4;margin:14px 0}.person-dialog input,.person-dialog select,.person-dialog textarea{font:16px Arial,sans-serif;width:100%;padding:11px;border:1px solid #a9c4d8;border-radius:5px;background:white;color:#143752;margin-top:6px}.person-dialog fieldset{border:1px solid #d3e3ef;border-radius:5px;margin-top:15px;padding:10px}.person-dialog legend{font-size:12px}.person-dialog small{font-size:11px}.summary-block{padding:20px 0;border-bottom:1px solid #d9e6ee}.summary-block h4{font:normal 23px Georgia,serif;margin:0 0 10px}.summary-block p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.summary-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary-photo-grid figure{margin:0;min-width:0}.summary-photo-grid img{height:100px;width:100%;object-fit:contain;background:#eff6fc}.summary-photo-grid figcaption{font-size:10px;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}#orderTransferState{font-size:13px;line-height:1.6;color:#1d557b;overflow-wrap:anywhere}.form-panel input,.form-panel select,.form-panel textarea{font-size:16px!important}#orderPanel{scroll-margin-top:25px}.photo-strip-button{min-height:90px}.photo-persons button{min-height:44px}.book-experience [hidden]{display:none!important}.order-step .type-options small{font-size:12px}.order-step .type-options b{font-size:15px;line-height:1.4}
@media(max-width:560px){.order-step h3{font-size:27px}.order-photo-card img{height:155px}.order-photo-grid{gap:8px}.order-photo-card{padding:7px}.order-actions .button{font-size:12px;padding:15px 12px}.person-dialog{padding:19px}.person-dialog .field-row{display:block}.order-step .photo-board>img{max-height:490px}.order-progress{margin-bottom:24px}.form-panel{padding:24px 17px}.summary-photo-grid{grid-template-columns:repeat(2,1fr)}.photo-face-pin{font-size:12px;padding:5px 8px}}
.private-book{max-width:680px;margin:60px auto;padding:24px}.private-book h1{font-size:clamp(44px,7vw,76px)}.private-book>p{font-size:15px;line-height:1.8}#privateBookState{font-size:14px;color:#23587f}
