/* Photos de toutes les sections + photo de référence (cockpit et espace classique). */
.psb,.psb-hero{--psb-ice:var(--ice,#eaf7fd);--psb-mist:var(--mist,#9dbfcf);--psb-sonar:var(--sonar,#7fd3f3);--psb-lamp:var(--lamp,#ffb347);--psb-hot:var(--lamp-hot,#ffe0ad);--psb-line:var(--line,rgba(127,211,243,.28));--psb-ui:var(--f-ui,'Manrope',system-ui,sans-serif);--psb-inst:var(--f-inst,'Chakra Petch','Arial Narrow',sans-serif);font-family:var(--psb-ui);color:var(--psb-ice);min-width:0}
.psb .rb-spin,.psb-hero .rb-spin{animation:psb-spin .8s linear infinite}
@keyframes psb-spin{to{transform:rotate(360deg)}}
.psb .sr-only,.psb-hero .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Toutes les sections */
.psb{position:relative;display:grid;gap:9px;margin:0 0 10px;padding:11px 12px 12px;border-radius:14px;background:linear-gradient(160deg,rgba(9,40,56,.92),rgba(4,20,30,.94));border:1px solid var(--psb-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 30px -14px #000}
.psb-deepi{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:12.5px;line-height:1.4;color:var(--psb-ice)}
.psb-deepi svg{flex:none;width:16px;height:16px;margin-top:1px;color:var(--psb-lamp);filter:drop-shadow(0 0 6px rgba(255,179,71,.6))}
.psb-deepi b{color:var(--psb-hot);font-weight:600}
.psb-chips{display:flex;gap:8px;margin:0;padding:2px 2px 6px;list-style:none;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
.psb-chip{position:relative;flex:0 0 auto;scroll-snap-align:start}
.psb-chip>button{display:grid;justify-items:center;gap:3px;width:96px;padding:7px 4px 6px;border-radius:12px;border:1px solid rgba(127,211,243,.18);background:rgba(255,255,255,.03);color:inherit;font:inherit;cursor:pointer;transition:border-color .25s,background .25s,transform .25s}
.psb-chip>button:hover:not(:disabled){transform:translateY(-2px);border-color:var(--psb-sonar);background:rgba(127,211,243,.08)}
.psb-chip>button:disabled{cursor:default}
.psb-chip-photo{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:12px;overflow:hidden;background:rgba(127,211,243,.07);border:1.5px dashed rgba(127,211,243,.45);color:var(--psb-sonar)}
.psb-chip-photo img{width:100%;height:100%;object-fit:cover}
.psb-chip-photo svg{width:22px;height:22px}
.psb-chip-photo i{position:absolute;right:2px;bottom:2px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#2fbf71;color:#03140b}
.psb-chip-photo i svg{width:11px;height:11px;stroke-width:3}
.psb-chip b{max-width:88px;overflow:hidden;font-size:11.5px;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.psb-chip small{font:500 9.5px/1.2 var(--psb-inst);letter-spacing:.08em;text-transform:uppercase;color:var(--psb-mist)}
.psb-chip em{position:absolute;left:0;right:0;top:100%;z-index:2;padding:4px 6px;border-radius:8px;background:#3a0d0d;color:#ffd2d2;font-size:10px;font-style:normal}
.psb-chip[data-tone=ok] .psb-chip-photo,.psb-chip[data-tone=done] .psb-chip-photo{border-style:solid;border-color:#2fbf71}
.psb-chip[data-tone=ok] small,.psb-chip[data-tone=done] small{color:#7ee2a8}
.psb-chip[data-tone=empty] .psb-chip-photo{border-color:rgba(255,179,71,.65);color:var(--psb-lamp);animation:psb-breathe 2.6s ease-in-out infinite}
.psb-chip[data-tone=empty] small{color:var(--psb-hot)}
.psb-chip[data-tone=alert] .psb-chip-photo{border-style:solid;border-color:#ff7a59;color:#ff9a7f}
.psb-chip[data-tone=alert] small{color:#ffab95}
.psb-chip[data-tone=busy] .psb-chip-photo{border-style:solid;border-color:var(--psb-sonar);box-shadow:0 0 0 0 rgba(127,211,243,.5);animation:psb-sonar 1.8s ease-out infinite}
.psb-chip[data-tone=busy] small{color:var(--psb-sonar)}
.psb-chip[data-tone=review] .psb-chip-photo{border-style:solid;border-color:var(--psb-lamp);box-shadow:0 0 14px rgba(255,179,71,.55)}
.psb-chip[data-tone=review] small{color:var(--psb-lamp)}
@keyframes psb-breathe{50%{box-shadow:0 0 12px rgba(255,179,71,.45);border-color:var(--psb-lamp)}}
@keyframes psb-sonar{to{box-shadow:0 0 0 9px rgba(127,211,243,0)}}

.psb-launch{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;padding:10px 16px;border-radius:12px;border:1px solid #ffe0a0;background:linear-gradient(180deg,#ffeaa8 0%,#f7c65e 30%,#c78c32 100%);color:#261b09;font:700 14px/1.15 var(--psb-ui);letter-spacing:.01em;cursor:pointer;box-shadow:inset 0 0 0 1px #fff4c335,0 0 22px rgba(255,179,71,.35);transition:filter .2s,transform .2s}
.psb-launch svg{width:18px;height:18px}
.psb-launch:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}
.psb-launch:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.psb-running{display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 8px 8px 12px;border-radius:12px;border:1px solid rgba(127,211,243,.4);background:rgba(127,211,243,.08)}
.psb-running>div{display:grid;flex:1;gap:2px;min-width:0}
.psb-running b{font-size:13px;font-weight:600}
.psb-running small{font-size:11.5px;color:var(--psb-mist)}
.psb-pulse{flex:none;width:12px;height:12px;border-radius:50%;background:var(--psb-sonar);box-shadow:0 0 0 0 rgba(127,211,243,.6);animation:psb-sonar 1.4s ease-out infinite}
.psb-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--psb-line);background:transparent;color:var(--psb-ice);cursor:pointer}
.psb-icon svg{width:16px;height:16px}
.psb-done{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border-radius:12px;background:rgba(47,191,113,.12);border:1px solid rgba(47,191,113,.45);color:#9bf0c0;font-size:13px;font-weight:600}
.psb-done svg{width:17px;height:17px}
.psb-note{margin:0;font-size:11px;line-height:1.4;color:var(--psb-mist)}

/* Photo de référence de la photo test */
.psb-hero{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 12px;align-items:center;margin:0 0 10px;padding:11px 12px;border-radius:14px;background:linear-gradient(160deg,rgba(40,26,6,.9),rgba(10,18,24,.94));border:1.5px solid rgba(255,179,71,.7);box-shadow:0 0 22px -6px rgba(255,179,71,.45)}
.psb-hero[data-ready=true]{border-color:rgba(47,191,113,.65);box-shadow:0 0 18px -8px rgba(47,191,113,.6);background:linear-gradient(160deg,rgba(8,34,24,.92),rgba(6,20,28,.94))}
.psb-hero-photo{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;overflow:hidden;background:rgba(255,179,71,.1);border:1.5px dashed rgba(255,179,71,.7);color:var(--psb-lamp)}
.psb-hero[data-ready=true] .psb-hero-photo{border:1.5px solid #2fbf71}
.psb-hero-photo img{width:100%;height:100%;object-fit:cover}
.psb-hero-photo svg{width:26px;height:26px}
.psb-hero-copy{display:grid;gap:3px;min-width:0}
.psb-hero-copy span{overflow:hidden;font:600 10.5px/1.2 var(--psb-inst);letter-spacing:.12em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;color:var(--psb-hot)}
.psb-hero[data-ready=true] .psb-hero-copy span{color:#9bf0c0}
.psb-hero-copy p{margin:0;font-size:12.5px;line-height:1.4}
.psb-hero-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}
.psb-btn{position:relative;display:inline-flex;flex:1 1 140px;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 12px;border-radius:11px;border:1px solid var(--psb-line);background:rgba(255,255,255,.04);color:var(--psb-ice);font:600 13px/1.1 var(--psb-ui);cursor:pointer;transition:filter .2s,border-color .2s}
.psb-btn svg{width:17px;height:17px}
.psb-btn:hover{border-color:var(--psb-sonar)}
.psb-main{border-color:#ffe0a0;background:linear-gradient(180deg,#ffeaa8 0%,#f7c65e 30%,#c78c32 100%);color:#261b09;box-shadow:0 0 16px rgba(255,179,71,.3)}
.psb-main:hover{filter:brightness(1.07);border-color:#ffe0a0}
.psb-hero[data-ready=true] .psb-main{background:rgba(255,255,255,.04);color:var(--psb-ice);border-color:var(--psb-line);box-shadow:none}
.psb-own{display:inline-flex;flex:1 1 100%;align-items:center;justify-content:center;gap:6px;min-height:32px;font-size:12px;color:var(--psb-sonar);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.psb-own svg{width:14px;height:14px}
:is(.psb-btn,.psb-own)[data-disabled]{opacity:.5;pointer-events:none}
.psb-error{grid-column:1/-1;margin:0;font-size:11.5px;color:#ffab95}

@media (prefers-reduced-motion:reduce){.psb-chip-photo,.psb-pulse{animation:none!important}}

/* Section ouverte + panneau « photo de référence ou ma photo » */
.psb-chip[data-open]>button{border-color:var(--psb-lamp);background:rgba(255,179,71,.1);box-shadow:0 0 0 1px rgba(255,179,71,.5)}
.psb-panel{display:grid;gap:9px;padding:12px;border-radius:13px;border:1px solid rgba(255,179,71,.55);background:linear-gradient(160deg,rgba(40,26,6,.85),rgba(8,20,28,.92))}
.psb-panel[data-tone=ok],.psb-panel[data-tone=done]{border-color:rgba(47,191,113,.55)}
.psb-panel-head{display:flex;gap:11px;align-items:center}
.psb-panel-photo{display:grid;place-items:center;flex:none;width:58px;height:58px;border-radius:12px;overflow:hidden;background:rgba(255,179,71,.1);border:1.5px dashed rgba(255,179,71,.7);color:var(--psb-lamp)}
.psb-panel-photo img{width:100%;height:100%;object-fit:cover}
.psb-panel-photo svg{width:24px;height:24px}
.psb-panel-head>div{display:grid;gap:4px;min-width:0;flex:1}
.psb-panel-head b{font:600 11px/1.2 var(--psb-inst);letter-spacing:.14em;text-transform:uppercase;color:var(--psb-hot)}
.psb-panel-head small{font-size:13px;color:var(--psb-ice)}
.psb-panel-head label{display:grid;gap:3px}
.psb-panel-head label span{font-size:10px;color:var(--psb-mist)}
.psb-panel-head select{width:100%;min-height:34px;padding:4px 8px;border-radius:8px;border:1px solid var(--psb-line);background:#061d2c;color:var(--psb-ice);font:13px var(--psb-ui)}
.psb-panel-note{margin:0;font-size:12.5px;line-height:1.45;color:var(--psb-ice)}
.psb-panel-note b{color:var(--psb-hot)}
.psb-panel-actions{display:flex;flex-wrap:wrap;gap:7px}
.psb-saved{display:flex;gap:7px;align-items:flex-start;margin:0;font-size:12px;line-height:1.4;color:#9bf0c0}
.psb-saved svg{flex:none;width:15px;height:15px;margin-top:1px}
.psb-running-block{display:grid;gap:8px}
.psb-continue{min-height:42px;font-size:13.5px}
.psb-continue svg{width:17px;height:17px}
/* Photo du restaurateur dans la validation : photo pro à partir de sa photo, ou telle quelle. */
.expedition-lightbox .own-photo-pending p b{color:#fff3d1}
.expedition-lightbox .own-photo-choice{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.expedition-lightbox .own-photo-choice .btn{flex:1 1 200px;justify-content:center}

/* Écran « Mes photos » du cockpit : tout défile dans le panneau, le pied reste visible. */
.reference-review>.gallery-scroll{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:4px}
.gallery-scroll>.psb{margin:0;flex:none}
.gallery-scroll .gallery-shell{flex:none;overflow:visible;min-height:0}
.gallery-scroll .dish-carousel{flex:none;overflow:visible;min-height:0;overscroll-behavior:auto}
[data-mode=mob] .gallery-scroll .gallery-shell{height:min(340px,52vh)}
[data-mode=mob] .gallery-scroll .dish-carousel{flex:1;overflow-x:auto;overflow-y:hidden}
.gallery-scroll .review-options-toggle{flex:none}
/* Le fond des photos, dans le tableau des sections */
.psb-style{display:grid;gap:6px;padding-top:4px;border-top:1px solid rgba(127,211,243,.16)}
.psb-step{margin:0;font:600 10.5px/1.2 var(--psb-inst);letter-spacing:.14em;text-transform:uppercase;color:var(--psb-mist)}
.psb-style .photo-quick-options{gap:6px}
.psb-style .photo-reference-tip{display:none}


/* Recette toujours lisible, y compris dans le cockpit mobile. */
.psb-recipe{display:grid;gap:8px;margin:14px 0;font-size:13px;font-weight:600;min-width:0}.psb-recipe textarea{box-sizing:border-box;width:100%;min-height:82px;resize:vertical;padding:10px 12px;border:1px solid rgba(214,178,110,.28);border-radius:10px;background:rgba(0,0,0,.3);color:inherit;font:inherit;line-height:1.5}.psb-recipe small{font-size:12px;font-weight:400;line-height:1.5;opacity:.75}.psb-recipe textarea:focus-visible{outline:2px solid #d6b26e;outline-offset:2px}

/* ——— Assistant photos en 3 étapes (une chose à la fois, peu de défilement) ——— */
.psb-wizard{display:grid;gap:10px;min-width:0}
.psb-wz-head{display:grid;gap:3px}
.psb-wz-step{font:600 10px/1 var(--psb-inst);letter-spacing:.14em;text-transform:uppercase;color:var(--psb-lamp)}
.psb-wz-head h3{margin:0;font:600 18px/1.25 var(--psb-ui);color:var(--psb-ice)}
.psb-wz-head p{margin:0;font-size:13px;color:var(--psb-mist)}
.psb-wz-head p b{color:var(--psb-hot)}
.psb-wz-dots{display:flex;flex-wrap:wrap;gap:6px}
.psb-wz-dots button{width:12px;height:12px;padding:0;border-radius:50%;border:1px solid var(--psb-line);background:transparent;cursor:pointer;transition:transform .15s,background .2s}
.psb-wz-dots button[aria-selected=true]{background:var(--psb-lamp);border-color:var(--psb-lamp);transform:scale(1.25)}
.psb-wz-dots button[data-ok]{background:#2fb47a;border-color:#2fb47a}
.psb-wz-dots button[aria-selected=true][data-ok]{box-shadow:0 0 0 2px var(--psb-lamp)}
.psb-wz-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.psb-wz-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border:1px solid var(--psb-line);border-radius:11px;background:transparent;color:var(--psb-mist);font:600 13px var(--psb-ui);cursor:pointer}
.psb-wz-back:disabled{opacity:.35;cursor:default}
.psb-wz-back svg,.psb-wz-next svg{width:17px;height:17px}
.psb .psb-wz-next{width:auto;flex:1;max-width:260px;margin-left:auto}
.psb-wz-skip{justify-self:center;border:0;background:transparent;color:var(--psb-sonar);font:500 12.5px var(--psb-ui);text-decoration:underline;cursor:pointer;padding:4px}
.psb-recipe-fold{font-size:12.5px;color:var(--psb-mist)}
.psb-recipe-fold summary{cursor:pointer;list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.psb-recipe-fold summary u{color:var(--psb-sonar)}
.psb-recipe-fold textarea{box-sizing:border-box;width:100%;min-height:72px;margin-top:6px;padding:9px 11px;border:1px solid var(--psb-line);border-radius:10px;background:#021219;color:var(--psb-ice);font:400 14px/1.4 var(--psb-ui)}
.psb-summary{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.psb-summary li{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;border:1px solid var(--psb-line);border-radius:12px;background:#031925b0;font-size:13px;line-height:1.45}
.psb-summary li svg{flex:none;width:18px;height:18px;margin-top:1px;color:var(--psb-lamp)}
.psb-summary li[data-tone=ok] svg{color:#5fd39a}
.psb-summary li[data-tone=warn]{border-color:#ffb34780;background:#3a26084d}
.psb-summary li[data-tone=warn] svg{color:var(--psb-lamp)}
.psb-summary li b{color:var(--psb-hot)}
.psb-cost{margin:0;font-size:12px;line-height:1.5;color:var(--psb-mist)}
@media(prefers-reduced-motion:reduce){.psb-wz-dots button{transition:none}}
/* Assistant compact : moins de hauteur, presque pas de défilement. */
.psb-wizard .psb-panel{padding:10px 11px;gap:8px}
.psb-wizard .psb-panel-head{gap:9px}
.psb-wizard .psb-panel-photo{width:52px;height:52px}
.psb-wizard .psb-panel-actions{margin:0}
.psb-wizard .psb-own{font-size:12px;padding:6px 8px;min-height:36px}
.psb-wizard .psb-panel-note{font-size:12.5px}
.psb-wz-where{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;font-size:13px;color:var(--psb-mist)}
.psb-wz-where b{color:var(--psb-hot)}
.psb-wizard .psb-wz-head h3{font-size:16px}
.psb-wizard .psb-btn.psb-main{color:#2b1805}
.psb-wizard .psb-btn.psb-main svg{color:#2b1805}
.gallery-shell[hidden]{display:none!important}
/* Les boutons Retour / Passer restent toujours visibles en bas du cadre. */
.psb-wizard .psb-wz-foot{position:sticky;bottom:-12px;z-index:3;margin:0 -12px -12px;padding:10px 12px 12px;background:linear-gradient(180deg,rgba(4,20,30,0),rgba(4,20,30,.96) 26%);border-radius:0 0 14px 14px}
.psb-wizard .psb-wz-foot .psb-wz-skip{flex:none}
@media(max-width:420px){.psb-wizard .psb-wz-foot{flex-wrap:wrap}.psb-wizard .psb-wz-foot .psb-wz-skip{order:3;width:100%}}
.psb-cost b{color:var(--psb-hot)}
/* Reprendre les photos (crédit revenu, page rechargée) : un écran, un bouton. */
.psb-resume .psb-chips{margin:2px 0}
.psb-resume .psb-note{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--psb-hot)}
.psb-resume .psb-note svg{width:15px;height:15px;flex:none}
.psb-resume .psb-launch{width:100%;justify-content:center}
.psb-resume .psb-wz-foot{justify-content:center}
.psb-resume .psb-wz-skip{display:inline-flex;align-items:center;gap:6px}
.psb-resume .psb-wz-skip svg{width:14px;height:14px}
/* Cockpit · une photo test par catégorie */
.psb-samples .psb-note{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--psb-mist)}
.psb-samples .psb-note svg{width:15px;height:15px;flex:none}
.psb-samples .psb-retry{flex:0 0 auto;align-self:flex-start}
.psb-samples .psb-launch:disabled{opacity:.62}
.psb-link{display:inline;margin:0 0 0 4px;padding:0;border:0;background:none;color:var(--psb-sonar);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
