/* Custom Creators v2 — small, separate layer on top of style.css (generators never touch this file). */
/* Busy / done feedback on any async button */
.is-busy{position:relative;pointer-events:none;opacity:.85}
.is-busy::after{content:"";display:inline-block;width:16px;height:16px;margin-left:10px;vertical-align:-3px;border:2.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:v2spin .7s linear infinite}
@keyframes v2spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.is-busy::after{animation-duration:2s}}
.btn.is-done{background:#16A34A!important;border-color:#16A34A!important;color:#fff!important}
/* Sign-in: clear "email sent" state */
.cl-sent{background:var(--card);border:2px solid #16A34A;border-radius:16px;padding:22px;display:grid;gap:10px;max-width:520px}
.cl-sent .cl-sent-ic{width:48px;height:48px;border-radius:50%;background:#DCFCE7;color:#166534;display:grid;place-items:center;font-size:24px}
.cl-sent h2{margin:0;font-size:22px}.cl-sent .addr{font-weight:700;word-break:break-all}
.cl-sent .cl-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 0}.cl-sent p{margin:0}.cl-sent .muted{color:var(--muted)}
.cl-steps li.done::before{content:"✓";background:#16A34A}.cl-steps li.now{border-color:var(--accent)}
/* Builder: photo tiles + live preview */
.cl-kind{flex-direction:column;gap:8px;padding:0 0 12px;overflow:hidden}
.cl-kind>input{position:absolute;top:10px;left:10px;z-index:1;background:#fff;border-radius:50%}
.cl-kind>span:last-child{padding:0 14px}
.cl-kpic{display:block;width:100%;height:96px;background:#EEF0F4 center/cover no-repeat}
.cl-kpic.none{display:grid;place-items:center;font:700 26px var(--display);color:var(--muted);height:56px}
.cl-kind:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.cl-newgrid{display:grid;gap:24px;align-items:start}
@media (min-width:1100px){.cl-newgrid{grid-template-columns:minmax(0,1fr) 420px}.cl-pvnew{position:sticky;top:76px}}
.cl-pvnew{border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}
.cl-pvnew .cl-pvbar{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:14px}
.cl-pvnew .cl-pvst{color:var(--muted)}
.cl-pvnew iframe{display:block;width:100%;height:560px;border:0;background:#fff}
.cl-pvnew iframe[hidden]{display:none}
.cl-pvempty{margin:0;padding:40px 20px;text-align:center;color:var(--muted)}
/* Editor: notices never cover the side panel or the Send bar */
@media (min-width:900px){body:has(.cl-ed) .cc-notice{left:auto;right:24px;top:84px;bottom:auto;transform:none;width:min(420px,calc(100vw - 48px))}}
/* Editor side panel: section names were squeezed to zero width (only "Modifier" showed) and "Terminé" overlapped the icon.
   Name gets its own full row; move/copy/delete buttons go on the row below. */
.cl-ed .cl-bhead{flex-wrap:wrap}
.cl-ed .cl-bhead>.cl-bt{flex:1 1 calc(100% - 40px);min-width:0;display:flex;align-items:center;gap:8px}
.cl-ed .cl-bhead .cl-btxt{display:grid}
.cl-ed .cl-bhead .cl-acts2{margin-left:auto}
.cl-ed .cl-bedit{display:inline!important;margin-left:auto}
.cl-ed .cl-block input,.cl-ed .cl-block textarea,.cl-ed .cl-block select{min-width:0;max-width:100%;box-sizing:border-box}
/* Hours week + menu items: the side panel is narrow even on a big screen, so use the panel width (container query), not the screen width. */
.cl-ed .cl-block{container-type:inline-size}
@container (max-width:520px){
  .cl-week,.cl-week tbody,.cl-week tr{display:block}
  .cl-week tr{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 0;border-bottom:1px solid var(--line)}
  .cl-week th{grid-column:1/-1;padding:0}.cl-week td{padding:0}.cl-week td:last-child{grid-column:1/-1}
}
@container (max-width:640px){
  .cl-items li{grid-template-columns:minmax(0,1fr) 110px}
  .cl-items li>.cl-field:nth-child(2){grid-column:1/-1;grid-row:2}
  .cl-items li>.cl-rm{grid-column:1/-1}
}
/* Sent for review: Send button stays clearly off */
.cl-send[disabled],.cl-send .is-sent{opacity:.6;cursor:not-allowed}
/* Placeholder content the owner must replace (never fake reviews/logos) */
.v2-ph{border:2px dashed #F59E0B;background:#FFFBEB;border-radius:14px;padding:16px;color:#92400E}
.v2-ph b{display:block}
/* Status tracker: payment step visible from the start */
.cl-paystep{display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:8px 12px;border-radius:10px;background:#FFF7E0;color:#7A4B00;font-weight:600;font-size:15px}
.cl-paystep .dot{width:10px;height:10px;border-radius:50%;background:#F59E0B;flex:none}
.cl-paystep.ok{background:#ECFDF3;color:#166534}.cl-paystep.ok .dot{background:#16A34A}
.cl-paystep a{margin-left:auto;font-weight:700}
/* Home v2: one promise, one main button, real-photo proof, calm promo ribbon */
.v2-link{display:inline-flex;align-items:center;min-height:48px;padding:0 8px;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.v2-proof{padding:56px 0 24px}
.v2-proof h2{margin:0 0 18px}
.v2-facts{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.v2-facts li{background:var(--card,#fff);border:1px solid var(--line,#E5E7EB);border-radius:14px;padding:14px 16px}
.v2-facts b{display:block;font-size:18px}
.v2-tiles{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr))}
.v2-tiles li{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:3/2;background:#EEF0F4}
.v2-tiles img{width:100%;height:100%;object-fit:cover;display:block}
.v2-tiles span{position:absolute;left:8px;bottom:8px;background:rgba(17,18,20,.78);color:#fff;font-weight:700;font-size:14px;padding:4px 10px;border-radius:999px}
.v2-more{margin:16px 0 0;font-weight:700}
.bf.ccp{min-height:0!important;padding:6px 44px 6px 12px!important;font-size:14px!important;background:#F5F5F4!important;color:#111214!important;border:0!important;animation:none!important}
.bf.ccp small,.bf.ccp .ccp-e,.bf.ccp .ccp-pct{display:none!important}
.bf.ccp.ccp-shine::before,.bf.ccp.ccp-shine::after{display:none!important}
@media (max-width:560px){.cl-kinds{grid-template-columns:1fr 1fr}.cl-kpic{height:72px}.cl-kind small{display:none}.cl-kind>span:last-child{padding:0 10px}}
