/* CCCP 0.21.0 — Fotolibro manuale: flusso e canvas ricostruiti */
:root{
  --cccp-manual-primary:#135e96;
  --cccp-manual-primary-hover:#0a4b78;
  --cccp-manual-primary-soft:#eef6fc;
  --cccp-manual-text:#1d2939;
  --cccp-manual-muted:#667085;
  --cccp-manual-border:#d0d5dd;
  --cccp-manual-border-soft:#e4e7ec;
  --cccp-manual-surface:#fff;
  --cccp-manual-subtle:#f8fafc;
  --cccp-manual-danger:#b42318;
  --cccp-manual-warning:#b54708;
  --cccp-manual-ok:#067647;
}
html.cccp-manual-open,html.cccp-manual-open body{overflow:hidden}
[hidden]{display:none!important}

/* Launcher prodotto */
.cccp-manual-launch{display:flex;align-items:center;margin:12px 0 14px;padding:0;border:0;background:transparent}
.cccp-manual-launch>[data-open-cccp-wizard]{margin:0}

/* Modale principale */
.cccp-manual-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:18px}
.cccp-manual-backdrop,.cccp-manual-sheet-backdrop{position:absolute;inset:0;background:rgba(16,24,40,.68);backdrop-filter:blur(3px)}
.cccp-manual-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(1560px,calc(100vw - 36px));height:min(940px,calc(100vh - 36px));min-height:560px;background:var(--cccp-manual-surface);border:1px solid rgba(255,255,255,.22);border-radius:14px;overflow:hidden;box-shadow:0 24px 70px rgba(16,24,40,.28);color:var(--cccp-manual-text)}
.cccp-manual-dialog *{box-sizing:border-box}
.cccp-manual-dialog-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px 10px 18px;border-bottom:1px solid var(--cccp-manual-border-soft);background:#fff;flex:0 0 auto}
.cccp-manual-dialog-head>div{display:flex;align-items:baseline;gap:10px;min-width:0}
.cccp-manual-dialog-head strong{font-size:16px}
.cccp-manual-dialog-head small{color:var(--cccp-manual-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cccp-manual-close,.cccp-manual-sheet header>button{width:36px;height:36px;min-width:36px;border:0;border-radius:7px;background:transparent;color:#475467;font-size:26px;line-height:1;cursor:pointer}
.cccp-manual-close:hover,.cccp-manual-sheet header>button:hover{background:#f2f4f7;color:#101828}

/* Upload iniziale */
.cccp-manual-upload{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;padding:34px 24px 26px;background:#fbfcfd}
.cccp-manual-upload>*{width:min(760px,100%)}
.cccp-manual-upload-intro{text-align:center;margin-bottom:20px}
.cccp-manual-upload-intro h3{font-size:24px;margin:0 0 7px;color:var(--cccp-manual-text)}
.cccp-manual-upload-intro p{margin:0;color:var(--cccp-manual-muted)}
.cccp-manual-dropzone{min-height:190px;border:2px dashed #98a2b3;border-radius:12px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:9px;padding:26px;cursor:pointer;transition:.15s ease}
.cccp-manual-dropzone:hover{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft)}
.cccp-manual-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cccp-manual-dropzone span{font-weight:700;font-size:16px;color:#344054}
.cccp-manual-dropzone small{color:var(--cccp-manual-muted)}
.cccp-manual-frame-choice{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:8px;align-items:center;margin-top:16px;padding:12px;border:1px solid var(--cccp-manual-border-soft);border-radius:10px;background:#fff}
.cccp-manual-frame-choice>strong{font-size:13px}
.cccp-manual-frame-choice label{margin:0;display:flex;align-items:center;gap:6px;font-size:13px}
.cccp-manual-upload-list{display:none!important}
.cccp-manual-progress{position:relative;height:36px;margin-top:14px;border:1px solid var(--cccp-manual-border-soft);border-radius:8px;background:#fff;overflow:hidden}
.cccp-manual-progress>span{position:absolute;inset:0 auto 0 0;width:0;background:#d9edf9;transition:width .18s ease}
.cccp-manual-progress>strong{position:relative;z-index:1;display:flex;height:100%;align-items:center;padding:0 12px;font-size:12px;color:#344054;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cccp-manual-upload>footer{display:flex;justify-content:center;margin-top:16px}

/* Editor generale */
.cccp-manual-editor{display:flex;flex-direction:column;min-height:0;flex:1;background:#eef1f4}
.cccp-manual-toolbar{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(300px,1.6fr) minmax(270px,1fr);align-items:center;gap:10px;min-height:52px;padding:7px 10px;border-bottom:1px solid var(--cccp-manual-border);background:#fff;flex:0 0 auto}
.cccp-manual-photo-summary{padding-left:4px;color:#475467;font-size:12px;white-space:nowrap}
.cccp-manual-photo-summary strong{font-size:16px;color:#101828}
.cccp-manual-menu{display:flex;justify-content:center;gap:5px;min-width:0}
.cccp-manual-menu button,.cccp-manual-selection-tools button,.cccp-manual-photos header button{border:1px solid var(--cccp-manual-border);border-radius:6px;background:#fff;color:#344054;min-height:32px;padding:0 11px;font-weight:600;font-size:12px;cursor:pointer}
.cccp-manual-menu button:hover,.cccp-manual-selection-tools button:hover,.cccp-manual-photos header button:hover{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);color:var(--cccp-manual-primary)}
.cccp-manual-savebox{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-width:0;white-space:nowrap}
.cccp-manual-savebox [data-manual-save]{white-space:nowrap!important;flex:0 0 auto!important;width:auto!important;min-width:max-content!important;line-height:1.2!important}
.cccp-manual-savebox small{font-size:10px;color:var(--cccp-manual-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cccp-manual-savebox small[data-state="error"]{color:var(--cccp-manual-danger)}
.cccp-manual-savebox small[data-state="saved"]{color:var(--cccp-manual-ok)}

.cccp-manual-workspace{display:grid;grid-template-columns:235px minmax(420px,1fr) 250px;min-height:0;flex:1;overflow:hidden}
.cccp-manual-layouts,.cccp-manual-photos{min-width:0;background:#fff;display:flex;flex-direction:column;overflow:hidden}
.cccp-manual-layouts{border-right:1px solid var(--cccp-manual-border)}
.cccp-manual-photos{border-left:1px solid var(--cccp-manual-border)}
.cccp-manual-layouts>header,.cccp-manual-photos>header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 8px;border-bottom:1px solid var(--cccp-manual-border-soft);flex:0 0 auto}
.cccp-manual-layouts>header{align-items:flex-start;flex-direction:column}
.cccp-manual-layouts>header strong,.cccp-manual-photos>header strong{font-size:13px}
.cccp-manual-layouts>header small{font-size:10px;color:var(--cccp-manual-muted)}
[data-manual-layout-list],[data-manual-photo-library]{overflow:auto;min-height:0;flex:1;padding:8px}

/* Colonna layout */
.cccp-layout-group{margin:0 0 8px;border:1px solid var(--cccp-manual-border-soft);border-radius:8px;overflow:hidden;background:#fff}
.cccp-layout-group summary,.cccp-layout-group>h4{display:block;list-style:none;margin:0;padding:8px 9px;background:#f8fafc;border-bottom:1px solid var(--cccp-manual-border-soft);font-size:11px;font-weight:700;color:#344054;cursor:pointer}
.cccp-layout-group summary::-webkit-details-marker{display:none}
.cccp-layout-group summary:after{content:'⌄';float:right;color:#98a2b3}
.cccp-layout-group[open] summary:after{content:'⌃'}
.cccp-layout-group>div{display:grid;grid-template-columns:1fr;gap:6px;padding:6px}
.cccp-layout-card{display:flex;flex-direction:column;gap:4px;padding:4px;border:1px solid var(--cccp-manual-border-soft);border-radius:6px;background:#fff;cursor:pointer;min-width:0;color:#344054}
.cccp-layout-card:hover{border-color:var(--cccp-manual-primary);box-shadow:0 0 0 1px rgba(19,94,150,.08)}
.cccp-layout-card>span{position:relative;display:block;aspect-ratio:2/1;background:#f2f4f7;border-radius:3px;overflow:hidden}
.cccp-layout-card>span i{position:absolute;display:block;border:1px solid #667085;background:#fff;border-radius:1px}
.cccp-layout-card small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#667085;text-align:center}

/* Stage e tavola */
.cccp-manual-stage{min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:stretch;background:#e8ebef}
.cccp-manual-canvas-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:18px 22px;overflow:auto}
.cccp-manual-canvas{position:relative;width:min(100%,1050px);max-height:100%;background:#fff;box-shadow:0 4px 18px rgba(16,24,40,.14);overflow:hidden;touch-action:none;transform:translateZ(0);background-position:center;background-size:cover;background-repeat:no-repeat}
.cccp-manual-canvas:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(71,84,103,.12);z-index:800;pointer-events:none}
.cccp-cover-region{position:absolute;top:0;bottom:0;border-right:1px dashed rgba(71,84,103,.35);z-index:790;pointer-events:none}
.cccp-cover-region.spine{border-left:1px dashed rgba(71,84,103,.35)}
.cccp-cover-region span{position:absolute;top:5px;left:5px;padding:2px 4px;border-radius:3px;background:rgba(255,255,255,.78);font-size:8px;color:#667085}
.cccp-canvas-element{position:absolute;box-sizing:border-box;user-select:none;transform-origin:center center}
.cccp-canvas-element.photo-slot{overflow:visible;background:transparent;border:0;cursor:default;touch-action:none}
.cccp-canvas-element.photo-slot.is-selected{outline:2px solid var(--cccp-manual-primary);outline-offset:1px}
.cccp-canvas-element.photo-slot.is-photo-selected{outline-color:#c2410c}
.cccp-canvas-element.photo-slot.is-frame-selected{outline-color:var(--cccp-manual-primary)}
.cccp-manual-canvas.is-photo-dragover{box-shadow:0 0 0 3px rgba(19,94,150,.24),0 4px 18px rgba(16,24,40,.14)}
.cccp-photo-viewport{position:absolute;inset:0;overflow:hidden;background:#f8fafc;border:1px solid rgba(102,112,133,.34);box-sizing:border-box}
.cccp-photo-image{position:absolute!important;display:block!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;object-fit:fill;cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none;transform:none!important;transform-origin:0 0!important}
.cccp-photo-image:active{cursor:grabbing}
.cccp-empty-slot{width:100%;height:100%;display:grid;place-items:center;padding:8px;border:1px dashed #98a2b3;background:rgba(248,250,252,.92);color:#667085;text-align:center;font-size:10px;pointer-events:none}
.cccp-canvas-element.is-drop{z-index:900!important}
.cccp-canvas-element.is-selected>.cccp-photo-viewport,.cccp-canvas-element.is-drop>.cccp-photo-viewport{outline:2px solid var(--cccp-manual-primary);outline-offset:2px}
.cccp-canvas-element.is-drop>.cccp-photo-viewport{background:var(--cccp-manual-primary-soft)}
.cccp-slot-move{position:absolute;left:5px;top:5px;width:24px;height:24px;border:1px solid rgba(255,255,255,.9);border-radius:5px;background:rgba(16,24,40,.74);cursor:move;opacity:0;transition:opacity .12s;z-index:40}
.cccp-slot-move:before{content:'✥';display:grid;place-items:center;width:100%;height:100%;color:#fff;font-size:13px;line-height:1}
.cccp-frame-handle{display:none;position:absolute;width:14px;height:14px;background:#fff;border:2px solid var(--cccp-manual-primary);border-radius:50%;box-sizing:border-box;z-index:60;box-shadow:0 1px 5px rgba(0,0,0,.32);touch-action:none}
.cccp-canvas-element.is-selected>.cccp-frame-handle{display:block}
.cccp-frame-handle.is-nw{left:-1px;top:-1px;cursor:nwse-resize}.cccp-frame-handle.is-n{left:50%;top:-1px;transform:translateX(-50%);cursor:ns-resize}.cccp-frame-handle.is-ne{right:-1px;top:-1px;cursor:nesw-resize}.cccp-frame-handle.is-e{right:-1px;top:50%;transform:translateY(-50%);cursor:ew-resize}.cccp-frame-handle.is-se{right:-1px;bottom:-1px;cursor:nwse-resize}.cccp-frame-handle.is-s{left:50%;bottom:-1px;transform:translateX(-50%);cursor:ns-resize}.cccp-frame-handle.is-sw{left:-1px;bottom:-1px;cursor:nesw-resize}.cccp-frame-handle.is-w{left:-1px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.cccp-canvas-element.photo-slot:hover>.cccp-slot-move,.cccp-canvas-element.photo-slot.is-selected>.cccp-slot-move{opacity:1}
.cccp-canvas-element.text-slot{display:flex;align-items:center;justify-content:center;overflow:visible;padding:3px;cursor:move;touch-action:none;white-space:pre-wrap;word-break:break-word}
.cccp-canvas-element.text-slot.is-selected{outline:2px solid var(--cccp-manual-primary);outline-offset:2px}
.cccp-canvas-element.text-slot>.cccp-text-content{width:100%;pointer-events:none}
.cccp-rotate-handle{position:absolute;left:50%;top:-27px;transform:translateX(-50%);display:none;width:21px;height:21px;border:2px solid var(--cccp-manual-primary);border-radius:50%;background:#fff;color:var(--cccp-manual-primary);font-size:12px;line-height:17px;font-style:normal;text-align:center;cursor:grab}
.cccp-canvas-element.text-slot.is-selected .cccp-rotate-handle{display:block}
.cccp-manual-selection-tools{display:flex;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:5px 10px;border-top:1px solid var(--cccp-manual-border);background:#fff;flex:0 0 auto}
.cccp-manual-selection-tools>span{max-width:220px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cccp-manual-selection-tools label{display:flex;align-items:center;gap:6px;margin:0;font-size:10px;color:#475467}.cccp-manual-selection-tools label b{min-width:34px;text-align:right;font-size:10px;color:#344054}
.cccp-manual-selection-tools input[type=range]{width:120px}
.cccp-selection-modes{display:flex;gap:3px;padding:2px;border:1px solid var(--cccp-manual-border-soft);border-radius:7px;background:#f8fafc}.cccp-selection-modes button{min-height:27px!important;padding:0 9px!important;border:0!important;background:transparent!important}.cccp-selection-modes button.is-active{background:#fff!important;color:var(--cccp-manual-primary)!important;box-shadow:0 1px 3px rgba(16,24,40,.12)}.cccp-selection-hint{max-width:430px!important;color:#667085}

/* Libreria foto */
[data-manual-photo-library]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:7px}
.cccp-photo-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:3px;border:1px solid var(--cccp-manual-border-soft);border-radius:6px;background:#fff;cursor:grab;color:#344054;text-align:left}
.cccp-photo-card:hover{border-color:var(--cccp-manual-primary)}
.cccp-photo-card:active{cursor:grabbing}
.cccp-photo-card img{width:100%;aspect-ratio:1.2/1;display:block;object-fit:cover;border-radius:3px;background:#f2f4f7}
.cccp-photo-card>span{display:block;padding:4px 2px 1px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cccp-photo-card>b{position:absolute;right:5px;top:5px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 4px;border-radius:10px;background:#fff;color:var(--cccp-manual-ok);box-shadow:0 1px 5px rgba(16,24,40,.22);font-size:9px}
.cccp-photo-card.is-used{border-color:#b7e2ce;background:#f6fef9}

/* Storyboard */
.cccp-manual-filmstrip{height:112px;display:flex;gap:7px;align-items:stretch;padding:8px 10px;border-top:1px solid var(--cccp-manual-border);background:#fff;overflow-x:auto;overflow-y:hidden;flex:0 0 auto}
.cccp-manual-filmstrip>button{width:120px;min-width:120px;display:flex;flex-direction:column;gap:3px;padding:3px;border:1px solid var(--cccp-manual-border-soft);border-radius:6px;background:#fff;color:#475467;cursor:pointer}
.cccp-manual-filmstrip>button:hover{border-color:#98a2b3}
.cccp-manual-filmstrip>button.is-active{border-color:var(--cccp-manual-primary);box-shadow:0 0 0 1px var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft)}
.cccp-film-preview{position:relative;width:100%;aspect-ratio:2/1;background:#f2f4f7;overflow:hidden;border-radius:3px}
.cccp-film-preview i{position:absolute;display:block;border:1px solid #98a2b3;background:#fff;overflow:hidden}
.cccp-film-preview i img{width:100%;height:100%;object-fit:cover;display:block}
.cccp-manual-filmstrip small{font-size:9px;text-align:center;font-weight:600}

/* Sheet librerie / testo / preflight */
.cccp-manual-sheet{position:absolute;inset:0;z-index:10000;display:grid;place-items:center;padding:22px}
.cccp-manual-sheet>section{position:relative;z-index:1;width:min(1050px,calc(100% - 20px));max-height:calc(100% - 20px);display:flex;flex-direction:column;border:1px solid var(--cccp-manual-border-soft);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 20px 55px rgba(16,24,40,.24)}
.cccp-manual-sheet>section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--cccp-manual-border-soft);flex:0 0 auto}
.cccp-manual-sheet>section>header>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.cccp-manual-sheet>section>header strong{font-size:15px}
.cccp-manual-sheet>section>header small{font-size:10px;color:var(--cccp-manual-muted)}
.cccp-manual-sheet-body{min-height:0;overflow:auto;padding:14px}
.cccp-manual-sheet-options{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(260px,1.2fr) auto;gap:14px;align-items:end;padding:10px 14px;border-top:1px solid var(--cccp-manual-border-soft);background:#fbfcfd;flex:0 0 auto}
.cccp-manual-sheet-options label{display:flex;flex-direction:column;gap:5px;margin:0;font-size:11px;font-weight:600;color:#475467}
.cccp-manual-sheet-options label:nth-child(2){display:grid;grid-template-columns:auto minmax(120px,1fr) 40px;align-items:center}
.cccp-manual-sheet-options select{width:100%}
.cccp-manual-sheet-options output{font-size:10px;text-align:right}
.cccp-library-section{margin:0 0 20px}
.cccp-library-section:last-child{margin-bottom:0}
.cccp-library-section h4{margin:0 0 8px;font-size:12px;color:#344054}
.cccp-library-grid,.cccp-pattern-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.cccp-library-grid button,.cccp-pattern-grid button{display:flex;flex-direction:column;gap:4px;padding:4px;border:1px solid var(--cccp-manual-border-soft);border-radius:7px;background:#fff;color:#475467;cursor:pointer;min-width:0}
.cccp-library-grid button:hover,.cccp-pattern-grid button:hover,.cccp-library-grid button.is-selected,.cccp-pattern-grid button.is-selected{border-color:var(--cccp-manual-primary);box-shadow:0 0 0 1px rgba(19,94,150,.1)}
.cccp-library-grid button>img,.cccp-pattern-grid button>i{display:block;width:100%;aspect-ratio:1.7/1;object-fit:cover;border-radius:4px;background-size:cover;background-position:center;border:1px solid rgba(16,24,40,.06)}
.cccp-library-grid button>span,.cccp-pattern-grid button>span{display:block;padding:1px 2px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
.cccp-color-grid{display:grid;grid-template-columns:repeat(16,1fr);gap:6px}
.cccp-color-chip{position:relative;aspect-ratio:1/1;border:2px solid #fff;border-radius:6px;box-shadow:0 0 0 1px #d0d5dd;cursor:pointer}
.cccp-color-chip.is-selected{box-shadow:0 0 0 2px var(--cccp-manual-primary)}
.cccp-custom-bg{display:flex!important;align-items:center!important;justify-content:center!important;min-height:66px;border-style:dashed!important;font-weight:600;font-size:11px}

/* Testo */
.cccp-manual-text-dialog{width:min(920px,calc(100% - 20px))!important}
.cccp-manual-text-body{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:390px;min-width:0}
.cccp-manual-font-list{overflow:auto;padding:10px;border-right:1px solid var(--cccp-manual-border-soft);display:flex;flex-direction:column;gap:5px}
.cccp-manual-font-list button{min-height:37px;padding:6px 9px;border:1px solid var(--cccp-manual-border-soft);border-radius:6px;background:#fff;color:#344054;text-align:left;cursor:pointer;font-size:15px}
.cccp-manual-font-list button:hover,.cccp-manual-font-list button.is-selected{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft)}
.cccp-manual-text-form{padding:18px;min-width:0}
.cccp-manual-text-preview{min-height:140px;display:flex;align-items:center;justify-content:center;padding:18px;margin-bottom:16px;border:1px solid var(--cccp-manual-border-soft);border-radius:8px;background:#f8fafc;overflow:hidden;word-break:break-word}
.cccp-manual-text-form>label{display:flex;flex-direction:column;gap:5px;margin:0 0 12px;font-size:11px;font-weight:600;color:#475467}
.cccp-manual-text-form textarea{width:100%;resize:vertical}
.cccp-manual-text-grid{display:grid;grid-template-columns:1fr 100px 1fr;gap:10px}
.cccp-manual-text-grid label{display:flex;flex-direction:column;gap:5px;margin:0;font-size:11px;font-weight:600;color:#475467}
.cccp-manual-text-grid input,.cccp-manual-text-grid select{width:100%}
.cccp-manual-text-grid input[type=color]{height:38px;padding:2px}
.cccp-manual-text-dialog>footer,.cccp-manual-preflight-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--cccp-manual-border-soft);background:#fbfcfd}

/* Preflight */
.cccp-manual-preflight-dialog{width:min(760px,calc(100% - 20px))!important}
[data-preflight-body]{min-height:0;overflow:auto;padding:16px}
.cccp-preflight-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px 10px;align-items:baseline;padding:10px 12px;margin-bottom:12px;border-radius:8px;background:#f8fafc;border:1px solid var(--cccp-manual-border-soft)}
.cccp-preflight-summary b{font-size:22px;color:#101828}
.cccp-preflight-summary span{font-size:11px;color:#667085}
[data-preflight-body]>section{padding:11px 12px;margin:0 0 9px;border:1px solid var(--cccp-manual-border-soft);border-radius:8px}
[data-preflight-body]>section h4{margin:0 0 6px;font-size:12px}
[data-preflight-body]>section p,[data-preflight-body]>section ul{margin:0;font-size:11px;color:#475467;line-height:1.5}
[data-preflight-body]>section.is-error{border-color:#fecdca;background:#fef3f2;color:var(--cccp-manual-danger)}
[data-preflight-body]>section.is-warning{border-color:#fedf89;background:#fffaeb;color:var(--cccp-manual-warning)}
[data-preflight-body]>section.is-ok{border-color:#abefc6;background:#ecfdf3;color:var(--cccp-manual-ok)}
.cccp-quality-list{display:flex;flex-direction:column;gap:5px}
.cccp-quality-list span{display:flex;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:5px;background:#f8fafc;font-size:10px;color:#475467}
.cccp-quality-list span.low{background:#fef3f2;color:#912018}
.cccp-quality-list span.acceptable{background:#fffaeb;color:#93370d}

/* Form controls nel dialogo */
.cccp-manual-dialog input[type=text],.cccp-manual-dialog input[type=number],.cccp-manual-dialog input[type=color],.cccp-manual-dialog select,.cccp-manual-dialog textarea{border:1px solid #98a2b3;border-radius:6px;background:#fff;color:#101828;box-shadow:none;min-height:34px;font-size:12px}
.cccp-manual-dialog input:focus,.cccp-manual-dialog select:focus,.cccp-manual-dialog textarea:focus,.cccp-manual-dialog button:focus-visible{outline:2px solid rgba(19,94,150,.35);outline-offset:1px;border-color:var(--cccp-manual-primary)}

/* Tablet / schermi stretti */
@media (max-width:1180px){
  .cccp-manual-workspace{grid-template-columns:190px minmax(360px,1fr) 210px}
  .cccp-manual-toolbar{grid-template-columns:130px minmax(0,1fr) auto}
  .cccp-manual-savebox small{max-width:130px}
  [data-manual-photo-library]{grid-template-columns:1fr}
  .cccp-library-grid,.cccp-pattern-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:900px){
  .cccp-manual-modal{padding:6px}
  .cccp-manual-dialog{width:calc(100vw - 12px);height:calc(100vh - 12px);border-radius:8px}
  .cccp-manual-toolbar{grid-template-columns:1fr auto;grid-template-areas:'summary save' 'menu menu';gap:5px;padding:5px 7px}
  .cccp-manual-photo-summary{grid-area:summary}.cccp-manual-menu{grid-area:menu}.cccp-manual-savebox{grid-area:save}
  .cccp-manual-savebox small{display:none}
  .cccp-manual-workspace{grid-template-columns:160px minmax(320px,1fr) 165px}
  .cccp-layout-group>div{grid-template-columns:1fr}
  .cccp-manual-filmstrip{height:92px}.cccp-manual-filmstrip>button{min-width:98px;width:98px}
  .cccp-color-grid{grid-template-columns:repeat(8,1fr)}
  .cccp-library-grid,.cccp-pattern-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cccp-manual-sheet-options{grid-template-columns:1fr 1.3fr auto}
}
@media (max-width:680px){
  .cccp-manual-dialog-head>div{display:block}.cccp-manual-dialog-head small{display:block;margin-top:2px}
  .cccp-manual-frame-choice{grid-template-columns:1fr}.cccp-manual-frame-choice>strong{margin-bottom:3px}
  .cccp-manual-upload-list{grid-template-columns:1fr}
  .cccp-manual-workspace{display:grid;grid-template-columns:120px minmax(280px,1fr);grid-template-rows:minmax(0,1fr) 150px;overflow:auto}
  .cccp-manual-layouts{grid-column:1;grid-row:1;border-right:1px solid var(--cccp-manual-border)}
  .cccp-manual-stage{grid-column:2;grid-row:1}
  .cccp-manual-photos{grid-column:1 / -1;grid-row:2;border-left:0;border-top:1px solid var(--cccp-manual-border)}
  .cccp-manual-photos>header{padding:5px 8px}
  [data-manual-photo-library]{grid-template-columns:repeat(5,95px);overflow-x:auto;overflow-y:hidden;padding:5px}
  .cccp-photo-card img{aspect-ratio:1.3/1}
  .cccp-manual-canvas-wrap{padding:10px}
  .cccp-manual-filmstrip{height:84px;padding:6px}.cccp-manual-filmstrip>button{min-width:88px;width:88px}
  .cccp-manual-sheet{padding:7px}.cccp-manual-sheet>section{width:100%;max-height:100%}
  .cccp-library-grid,.cccp-pattern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cccp-manual-sheet-options{grid-template-columns:1fr;gap:7px}
  .cccp-manual-sheet-options label:nth-child(2){grid-template-columns:auto 1fr 38px}
  .cccp-manual-text-body{grid-template-columns:1fr;grid-template-rows:145px minmax(0,1fr)}
  .cccp-manual-font-list{border-right:0;border-bottom:1px solid var(--cccp-manual-border-soft);display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .cccp-manual-text-grid{grid-template-columns:1fr 80px 1fr}
}
.cccp-manual-dropzone.is-dragover{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);box-shadow:0 0 0 3px rgba(19,94,150,.08)}
.cccp-manual-modal.is-editor-open .cccp-manual-dialog-head{display:none}
.cccp-manual-toolbar-close{width:32px;height:32px;min-width:32px;border:0;border-radius:6px;background:transparent;color:#667085;font-size:22px;line-height:1;cursor:pointer}.cccp-manual-toolbar-close:hover{background:#f2f4f7;color:#101828}

/* CCCP 0.24.0 — base editor Fotolibro manuale */
.cccp-manual-launch{gap:8px;flex-wrap:wrap}
.cccp-layout-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:7px 7px 0;flex:0 0 auto}
.cccp-layout-counts button{height:30px;min-width:0;padding:0;border:1px solid var(--cccp-manual-border);border-radius:6px;background:#fff;color:#475467;font-size:11px;font-weight:700;cursor:pointer}
.cccp-layout-counts button:hover,.cccp-layout-counts button.is-active{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);color:var(--cccp-manual-primary)}
.cccp-layout-browser{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:5px;padding:6px 7px 2px;flex:0 0 auto}
.cccp-layout-browser button{height:28px;padding:0;border:1px solid var(--cccp-manual-border);border-radius:6px;background:#fff;color:#344054;font-size:18px;line-height:1;cursor:pointer}
.cccp-layout-browser button:hover:not(:disabled){border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);color:var(--cccp-manual-primary)}
.cccp-layout-browser button:disabled{opacity:.35;cursor:default}
.cccp-layout-browser span{min-width:0;text-align:center;font-size:9.5px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-manual-layout-list]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:6px;padding:7px;overflow:auto}
.cccp-layout-card{cursor:grab}
.cccp-layout-card:active{cursor:grabbing}
.cccp-layout-card.is-dragging{opacity:.55}

/* Lo sfondo e il pattern sono due livelli indipendenti: il pattern non viene più coperto dallo sfondo. */
.cccp-manual-canvas>.cccp-canvas-base,.cccp-manual-canvas>.cccp-canvas-artwork,.cccp-manual-canvas>.cccp-canvas-pattern{position:absolute;inset:0;display:block;pointer-events:none}
.cccp-manual-canvas>.cccp-canvas-base{z-index:0;background:transparent}
.cccp-manual-canvas>.cccp-canvas-artwork{z-index:1;background-position:center;background-size:cover;background-repeat:no-repeat}
.cccp-manual-canvas>.cccp-canvas-pattern{z-index:2;background-position:0 0;background-repeat:repeat}
.cccp-manual-canvas>.cccp-cover-region{z-index:4}
.cccp-manual-canvas>.cccp-canvas-element{z-index:10}
.cccp-manual-canvas>.cccp-canvas-element.is-drop{z-index:900!important}

/* Modifica maschera: clic singolo. */
.cccp-canvas-element.photo-slot.is-frame-selected>.cccp-frame-handle{display:block}
.cccp-canvas-element.photo-slot.is-photo-selected>.cccp-frame-handle{display:none}
.cccp-canvas-element.photo-slot.is-photo-selected>.cccp-slot-move{display:none}

/* Modifica fotografia: doppio clic. Le maniglie scalano la fotografia, non la maschera. */
.cccp-photo-scale-handle{position:absolute;width:16px;height:16px;border:2px solid #fff;border-radius:50%;background:#c2410c;box-shadow:0 1px 6px rgba(0,0,0,.38);z-index:75;touch-action:none}
.cccp-photo-scale-handle.is-nw{left:-8px;top:-8px;cursor:nwse-resize}
.cccp-photo-scale-handle.is-ne{right:-8px;top:-8px;cursor:nesw-resize}
.cccp-photo-scale-handle.is-se{right:-8px;bottom:-8px;cursor:nwse-resize}
.cccp-photo-scale-handle.is-sw{left:-8px;bottom:-8px;cursor:nesw-resize}
.cccp-canvas-element.photo-slot.is-photo-selected>.cccp-photo-viewport{outline:2px solid #c2410c;outline-offset:2px}
.cccp-canvas-element.photo-slot.is-photo-selected .cccp-photo-image{cursor:move}

/* Cornici disponibili */
.cccp-frame-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.cccp-frame-grid button{display:flex;flex-direction:column;gap:5px;min-width:0;padding:6px;border:1px solid var(--cccp-manual-border-soft);border-radius:7px;background:#fff;color:#475467;cursor:pointer}
.cccp-frame-grid button:hover,.cccp-frame-grid button.is-selected{border-color:var(--cccp-manual-primary);box-shadow:0 0 0 1px rgba(19,94,150,.1)}
.cccp-frame-grid button i{display:block;width:100%;aspect-ratio:1.55/1;border-radius:3px;background:#f8fafc;box-sizing:border-box}
.cccp-frame-grid button span{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* La vecchia toolbar Foto/Cornice non appartiene più al flusso. */
.cccp-selection-modes{display:none!important}

@media (max-width:1180px){
  .cccp-layout-counts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cccp-frame-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:900px){
  [data-manual-layout-list]{grid-template-columns:1fr}
  .cccp-frame-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:680px){
  .cccp-layout-counts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cccp-frame-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* CCCP 0.24.0 — editor Fotolibro: selezione diretta, snapping e librerie professionali */
.cccp-manual-menu button[data-snap-toggle].is-active{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);color:var(--cccp-manual-primary)}
.cccp-manual-menu button[data-snap-toggle] span{display:inline-block;min-width:12px;margin-left:2px;font-weight:800}

/* Gli strumenti di trasformazione appartengono esclusivamente all'oggetto selezionato. */
.cccp-canvas-element>.cccp-frame-handle,
.cccp-canvas-element>.cccp-photo-scale-handle,
.cccp-canvas-element>.cccp-rotate-handle{display:none!important}
.cccp-canvas-element.photo-slot.is-frame-selected>.cccp-frame-handle{display:block!important}
.cccp-canvas-element.photo-slot.is-photo-selected>.cccp-photo-scale-handle{display:block!important}
.cccp-canvas-element.text-slot.is-text-selected>.cccp-frame-handle,
.cccp-canvas-element.text-slot.is-text-selected>.cccp-rotate-handle{display:block!important}
.cccp-canvas-element.photo-slot.is-photo-selected>.cccp-frame-handle{display:none!important}
.cccp-canvas-element.photo-slot:not(.is-selected),
.cccp-canvas-element.text-slot:not(.is-selected){outline:none!important}

/* Il gesto principale è sempre diretto sul canvas. */
.cccp-canvas-element.photo-slot{cursor:move}
.cccp-canvas-element.photo-slot .cccp-photo-viewport{cursor:move}
.cccp-canvas-element.photo-slot .cccp-photo-image{cursor:inherit}
.cccp-canvas-element.photo-slot.is-photo-selected .cccp-photo-viewport,
.cccp-canvas-element.photo-slot.is-photo-selected .cccp-photo-image{cursor:grab}
.cccp-canvas-element.photo-slot.is-photo-selected .cccp-photo-image:active{cursor:grabbing}
.cccp-frame-handle,.cccp-photo-scale-handle{pointer-events:auto}

/* Guide magnetiche. ALT le disattiva temporaneamente durante il gesto. */
.cccp-snap-guide{position:absolute;display:block;z-index:980;pointer-events:none;background:#e11d48;box-shadow:0 0 0 1px rgba(255,255,255,.75)}
.cccp-snap-guide[hidden]{display:none!important}
.cccp-snap-guide.is-v{top:0;bottom:0;width:1px;transform:translateX(-.5px)}
.cccp-snap-guide.is-h{left:0;right:0;height:1px;transform:translateY(-.5px)}

/* Preview layout: abbastanza grandi da leggere davvero la composizione. */
[data-manual-layout-list]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}
.cccp-layout-card{padding:6px;gap:6px;border-radius:8px;transition:border-color .12s,box-shadow .12s,transform .12s}
.cccp-layout-card:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(16,24,40,.10)}
.cccp-layout-card.is-current{border-color:var(--cccp-manual-primary);box-shadow:0 0 0 2px rgba(19,94,150,.14);background:var(--cccp-manual-primary-soft)}
.cccp-layout-card>span{aspect-ratio:2/1;border:1px solid #e4e7ec;background:#fff}
.cccp-layout-card>span i{border:1px solid #98a2b3;background:#eef2f6;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.cccp-layout-card small{font-size:9.5px;line-height:1.25;white-space:normal;min-height:24px;display:grid;place-items:center}

/* Cornice a pattern: mostra soltanto l'anello esterno, non copre la fotografia. */
.cccp-photo-pattern-frame{position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:var(--cccp-frame-radius,0);padding:var(--cccp-frame-width,4px);box-sizing:border-box;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}

/* Pannello Cornici: stile + proprietà indipendenti. */
.cccp-frame-options{margin-top:14px;padding-top:12px;border-top:1px solid var(--cccp-manual-border-soft)}
.cccp-frame-options h4{margin:8px 0;font-size:11px;color:#344054}
.cccp-frame-controls{display:grid;grid-template-columns:minmax(220px,1fr) 120px;gap:12px;align-items:end}
.cccp-frame-controls label{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:8px;font-size:11px;color:#475467}
.cccp-frame-controls label+label{grid-template-columns:auto 50px}
.cccp-frame-controls input[type=color]{width:50px;height:34px;padding:2px}
.cccp-frame-colors{margin-top:8px}
.cccp-frame-patterns{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.cccp-frame-patterns button{height:36px;padding:3px;border:1px solid var(--cccp-manual-border-soft);border-radius:6px;background:#fff;cursor:pointer}
.cccp-frame-patterns button i{display:block;width:100%;height:100%;border-radius:3px}
.cccp-frame-patterns button:hover,.cccp-frame-patterns button.is-selected{border-color:var(--cccp-manual-primary);box-shadow:0 0 0 1px rgba(19,94,150,.14)}

/* Riempimento automatico: feedback reale step-by-step. */
.cccp-autofill-sheet{z-index:10050!important}
.cccp-autofill-dialog{width:min(560px,calc(100% - 24px))!important;max-height:none!important;align-self:center}
.cccp-autofill-dialog header{border-bottom:1px solid var(--cccp-manual-border-soft)}
.cccp-autofill-body{padding:22px}
.cccp-autofill-progress{height:14px;overflow:hidden;border-radius:999px;background:#e4e7ec;box-shadow:inset 0 1px 2px rgba(16,24,40,.08)}
.cccp-autofill-progress span{display:block;width:0;height:100%;border-radius:inherit;background:var(--cccp-manual-primary);transition:width .22s ease}
.cccp-autofill-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;color:#475467;font-size:11px}
.cccp-autofill-meta strong{font-size:13px;color:#101828}

/* Mantiene sempre stabile il pulsante di uscita/salvataggio. */
.cccp-manual-savebox [data-manual-save]{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;word-break:keep-all!important;min-width:168px!important;width:auto!important;height:34px!important;padding:0 14px!important;line-height:1!important}

@media (max-width:1180px){
  .cccp-frame-patterns{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (max-width:900px){
  [data-manual-layout-list]{grid-template-columns:1fr}
  .cccp-frame-controls{grid-template-columns:1fr}
  .cccp-frame-patterns{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* CCCP 0.24.0 — canvas professionale e librerie rifinite */
.cccp-manual-savebox small[data-state="pending"]{color:#7a5d00}
.cccp-photo-viewport.has-photo,.cccp-canvas-element.has-photo>.cccp-photo-viewport{border-color:transparent;background:transparent}
.cccp-photo-border-frame{position:absolute;inset:0;z-index:8;display:block;pointer-events:none;box-sizing:border-box;border-style:solid}

/* Box di trasformazione della fotografia: compare soltanto durante l'edit foto. */
.cccp-photo-transform-box{position:absolute;z-index:74;display:none;pointer-events:none;border:1px dashed #c2410c;box-sizing:border-box}
.cccp-canvas-element.photo-slot.is-photo-selected>.cccp-photo-transform-box{display:block}
.cccp-photo-transform-box>.cccp-photo-scale-handle{display:block!important;pointer-events:auto}
.cccp-canvas-element.photo-slot.is-photo-selected>.cccp-photo-transform-box>.cccp-photo-scale-handle{display:block!important}

/* Preview reali delle cornici. */
.cccp-frame-preview{position:relative!important;display:grid!important;place-items:center!important;overflow:visible!important;background:#f2f4f7!important}
.cccp-frame-preview>span{display:block;width:62%;height:58%;background:linear-gradient(135deg,#a9b7c6,#e9eef3);border-radius:2px;box-shadow:inset 0 0 0 1px rgba(16,24,40,.08)}

/* Il comando per tornare puliti è sempre immediatamente disponibile. */
.cccp-library-reset{position:sticky;top:-14px;z-index:30;display:flex;justify-content:flex-end;margin:-14px -14px 14px;padding:10px 14px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--cccp-manual-border-soft);backdrop-filter:blur(5px)}
.cccp-library-reset .button{border-color:#b42318;color:#b42318;background:#fff;font-weight:650}
.cccp-library-reset .button:hover{border-color:#912018;background:#fef3f2;color:#912018}

/* Builder unico per le sfumature. */
.cccp-gradient-builder{padding:12px;border:1px solid var(--cccp-manual-border-soft);border-radius:9px;background:#fbfcfd}
.cccp-gradient-builder.is-selected{border-color:var(--cccp-manual-primary);box-shadow:0 0 0 1px rgba(19,94,150,.13)}
.cccp-gradient-preview{height:92px;margin-bottom:12px;border:1px solid rgba(16,24,40,.10);border-radius:7px;background:linear-gradient(45deg,#f7f1e8,#315c6b)}
.cccp-gradient-controls{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr);gap:12px;align-items:end}
.cccp-gradient-controls label{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;gap:8px;align-items:center;margin:0;font-size:11px;color:#475467}
.cccp-gradient-controls label:first-child{grid-template-columns:auto 1fr}
.cccp-gradient-stops{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px}
.cccp-gradient-stops input[type=color]{width:46px;height:36px;padding:2px}
.cccp-gradient-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}

/* Logo opzionale del negozio sul retro della copertina. */
.cccp-cover-branding{position:absolute;z-index:18;display:flex;align-items:center;justify-content:center;padding:4px;background:#fff;border:1px solid rgba(16,24,40,.10);border-radius:5px;box-shadow:0 1px 3px rgba(16,24,40,.10);pointer-events:none;box-sizing:border-box}
.cccp-cover-branding img{display:block;width:100%;height:100%;object-fit:contain}
.cccp-cover-branding.is-mini{padding:1px;border-radius:2px;box-shadow:none}

/* Le miniature sono una vera miniatura della tavola, non un elenco di sole foto. */
.cccp-film-preview>.cccp-canvas-base,.cccp-film-preview>.cccp-canvas-artwork,.cccp-film-preview>.cccp-canvas-pattern{position:absolute;inset:0;display:block;pointer-events:none}
.cccp-film-preview>.cccp-canvas-base{z-index:0}
.cccp-film-preview>.cccp-canvas-artwork{z-index:1;background-position:center;background-size:cover;background-repeat:no-repeat}
.cccp-film-preview>.cccp-canvas-pattern{z-index:2;background-repeat:repeat}
.cccp-film-preview>.cccp-mini-photo{z-index:5}
.cccp-mini-text{position:absolute;z-index:8;display:flex;align-items:center;overflow:hidden;font-style:normal;font-size:5px;line-height:1.05;white-space:pre-wrap;word-break:break-word;transform-origin:center center}

/* Drag layout: l'intero canvas è la destinazione. */
.cccp-manual-canvas.is-layout-dragover{box-shadow:0 0 0 3px rgba(181,71,8,.26),0 4px 18px rgba(16,24,40,.14)}

/* Testo selezionato: resize e rotazione leggibili. */
.cccp-canvas-element.text-slot{display:flex;align-items:center;padding:2px;overflow:visible;cursor:move;white-space:pre-wrap;word-break:break-word}
.cccp-canvas-element.text-slot>.cccp-text-content{display:block;width:100%;max-height:100%;overflow:hidden;pointer-events:none}
.cccp-canvas-element.text-slot.is-selected{outline:2px solid var(--cccp-manual-primary);outline-offset:1px}

@media (max-width:780px){
  .cccp-gradient-controls{grid-template-columns:1fr}
}


/* CCCP 0.25.0 — rifinitura professionale editor Fotolibro */
/* Il foglio grigio è l'area di lavoro; il rettangolo bianco/colore è il prodotto stampabile. */
.cccp-manual-canvas-wrap{background:#dfe4ea;background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.15) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.15) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
.cccp-manual-canvas{border:1px solid #7d8896;box-shadow:0 6px 22px rgba(16,24,40,.20)}
.cccp-bleed-guide{position:absolute;z-index:805;pointer-events:none;border:1px dashed rgba(198,45,66,.72);box-sizing:border-box}
.cccp-bleed-guide span{position:absolute;right:4px;top:4px;padding:1px 4px;border-radius:3px;background:rgba(255,255,255,.78);color:#b42318;font-size:8px;line-height:1.35}

/* Testo: solo il contenuto occupa l'intera area. Le maniglie non ereditano più width:100%. */
.cccp-canvas-element.text-slot>.cccp-text-content{display:block!important;width:100%!important;height:auto!important;max-height:100%!important;overflow:hidden!important;pointer-events:none!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;white-space:pre-wrap;word-break:break-word}
.cccp-canvas-element.text-slot>.cccp-frame-handle{width:14px!important;height:14px!important;max-height:none!important;overflow:visible!important;background:#fff!important;border:2px solid var(--cccp-manual-primary)!important;border-radius:50%!important}
.cccp-text-format-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:8px 0 10px}
.cccp-text-format-bar button{min-width:38px;height:34px;padding:0 9px;border:1px solid var(--cccp-manual-border);border-radius:6px;background:#fff;color:#344054;font-weight:700;cursor:pointer}
.cccp-text-format-bar button.is-active,.cccp-text-format-bar button[aria-pressed="true"]{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);color:var(--cccp-manual-primary)}

/* Trasformazione foto: 8 maniglie, visibili solo in edit foto. */
.cccp-photo-transform-box{display:none!important;pointer-events:none!important;border:1px dashed #c2410c!important;box-shadow:0 0 0 1px rgba(255,255,255,.65)}
.cccp-canvas-element.photo-slot.is-photo-selected>.cccp-photo-transform-box{display:block!important}
.cccp-photo-transform-box>.cccp-photo-scale-handle{display:block!important;pointer-events:auto!important;position:absolute!important;width:15px!important;height:15px!important;border:2px solid #fff!important;border-radius:50%!important;background:#c2410c!important;box-shadow:0 1px 5px rgba(0,0,0,.35)!important;z-index:80!important}
.cccp-photo-scale-handle.is-nw{left:-8px;top:-8px;cursor:nwse-resize}.cccp-photo-scale-handle.is-n{left:50%;top:-8px;transform:translateX(-50%);cursor:ns-resize}.cccp-photo-scale-handle.is-ne{right:-8px;top:-8px;cursor:nesw-resize}.cccp-photo-scale-handle.is-e{right:-8px;top:50%;transform:translateY(-50%);cursor:ew-resize}.cccp-photo-scale-handle.is-se{right:-8px;bottom:-8px;cursor:nwse-resize}.cccp-photo-scale-handle.is-s{left:50%;bottom:-8px;transform:translateX(-50%);cursor:ns-resize}.cccp-photo-scale-handle.is-sw{left:-8px;bottom:-8px;cursor:nesw-resize}.cccp-photo-scale-handle.is-w{left:-8px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.cccp-canvas-element.photo-slot:not(.is-photo-selected)>.cccp-photo-transform-box{display:none!important}

/* Cornici vettoriali e relativi effetti. */
.cccp-photo-vector-frame{position:absolute;inset:0;z-index:10;pointer-events:none;background-position:center;background-repeat:no-repeat;background-size:100% 100%;padding:var(--cccp-frame-width,5px);box-sizing:border-box;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.cccp-photo-double-frame{position:absolute;inset:0;z-index:11;pointer-events:none;border:var(--cccp-frame-width,3px) solid var(--cccp-frame-color,#fff);box-sizing:border-box;box-shadow:inset 0 0 0 calc(var(--cccp-frame-width,3px)*1.6) transparent,inset 0 0 0 calc(var(--cccp-frame-width,3px)*2.25) var(--cccp-frame-color,#fff)}
.cccp-photo-double-frame.is-mixed{border-width:calc(var(--cccp-frame-width,3px)*1.7);box-shadow:inset 0 0 0 calc(var(--cccp-frame-width,3px)*2.4) transparent,inset 0 0 0 calc(var(--cccp-frame-width,3px)*2.75) var(--cccp-frame-color,#fff)}
.cccp-photo-inner-frame{position:absolute;inset:calc(var(--cccp-frame-width,3px)*2.2);z-index:12;pointer-events:none;border:max(1px,calc(var(--cccp-frame-width,3px)*.42)) solid var(--cccp-frame-color,#fff);box-sizing:border-box}
.cccp-photo-emboss-frame{position:absolute;inset:0;z-index:13;pointer-events:none;box-shadow:inset 2px 2px 0 rgba(255,255,255,.62),inset -2px -2px 0 rgba(0,0,0,.24)}

/* Pulsanti di ambito sempre visibili: sfondi, pattern e cornici. */
.cccp-sheet-scope-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%}
.cccp-sheet-scope-buttons button{min-height:38px;padding:6px 8px;border:1px solid var(--cccp-manual-border);border-radius:7px;background:#fff;color:#344054;font-size:10px;line-height:1.15;cursor:pointer}
.cccp-sheet-scope-buttons button:hover,.cccp-sheet-scope-buttons button.is-selected,.cccp-sheet-scope-buttons button.is-active{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);color:var(--cccp-manual-primary);box-shadow:0 0 0 1px rgba(19,94,150,.10)}

/* Builder cornici: niente preset vuoti, preview reale di spessore e 40 disegni vettoriali compatti. */
.cccp-frame-builder h4{margin:16px 0 8px;color:#344054;font-size:12px}
.cccp-frame-primary-controls{display:grid;grid-template-columns:minmax(320px,1fr) minmax(190px,.45fr);gap:16px;align-items:end}
.cccp-frame-primary-controls>label{display:grid;gap:7px;margin:0;color:#475467;font-size:11px}
.cccp-frame-primary-controls input[type=range]{width:100%}
.cccp-frame-width-sample{height:34px;display:flex;align-items:center;padding:0 8px;border:1px solid var(--cccp-manual-border-soft);border-radius:6px;background:#f8fafc;overflow:hidden}
.cccp-frame-width-sample i{display:block;width:100%;min-height:1px;max-height:28px;background:#fff;box-shadow:0 0 0 1px rgba(16,24,40,.08)}
.cccp-color-picker{grid-template-columns:auto 52px minmax(85px,110px)!important;align-items:center!important}
.cccp-color-picker input[type=color]{width:52px;height:36px;padding:2px}.cccp-color-picker input[type=text]{height:36px}
.cccp-vector-frame-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}
.cccp-vector-frame-grid>button{min-width:0;padding:5px;border:1px solid var(--cccp-manual-border-soft);border-radius:7px;background:#fff;color:#475467;cursor:pointer}
.cccp-vector-frame-grid>button:hover,.cccp-vector-frame-grid>button.is-selected{border-color:var(--cccp-manual-primary);box-shadow:0 0 0 1px rgba(19,94,150,.12)}
.cccp-vector-frame-grid>button>span,.cccp-vector-frame-grid>button>small{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8.5px}.cccp-vector-frame-grid>button>small{color:#98a2b3}
.cccp-vector-frame-preview{position:relative;display:block;width:100%;aspect-ratio:1.55/1;background:#f6f7f9;border-radius:4px;overflow:hidden}
.cccp-vector-frame-preview>.cccp-frame-preview-context{position:absolute;inset:5px;background-repeat:no-repeat;background-position:center;background-size:100% 100%;opacity:.22}
.cccp-vector-frame-preview>b{position:absolute;left:31%;right:7%;top:29%;bottom:8%;background:linear-gradient(135deg,#d9e1e8,#f8fafc);border:1px solid rgba(102,112,133,.18)}
.cccp-vector-frame-preview>.cccp-frame-preview-corner{position:absolute;left:5px;top:5px;width:64%;height:72%;display:block;background-repeat:no-repeat;background-position:left top;background-size:265% 265%;-webkit-mask:linear-gradient(#000 0 0) top left/100% 26% no-repeat,linear-gradient(#000 0 0) top left/26% 100% no-repeat;mask:linear-gradient(#000 0 0) top left/100% 26% no-repeat,linear-gradient(#000 0 0) top left/26% 100% no-repeat;filter:contrast(1.08)}
.cccp-vector-frame-preview.is-plain:before{content:"";position:absolute;left:6px;top:6px;width:62%;height:70%;border-top:4px solid #596474;border-left:4px solid #596474;box-sizing:border-box}.cccp-vector-frame-preview.is-plain>b{left:31%;right:7%;top:29%;bottom:8%}
.cccp-frame-effects-hint{font-weight:500;color:#667085;font-size:10px}.cccp-frame-effects{display:flex;gap:6px;flex-wrap:wrap}.cccp-frame-effects button{min-height:34px;padding:5px 11px;border:1px solid var(--cccp-manual-border);border-radius:7px;background:#fff;color:#344054;cursor:pointer}.cccp-frame-effects button.is-selected{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);color:var(--cccp-manual-primary)}.cccp-frame-effects button.is-selected:not([data-frame-effect="none"]):before{content:"✓ ";font-weight:700}

/* Sfumatura compatta: un solo campione quadrato e controlli a lato. */
.cccp-gradient-compact{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;align-items:start}.cccp-gradient-compact .cccp-gradient-preview{width:112px;height:112px;margin:0;border-radius:8px}.cccp-gradient-compact h4{margin:0 0 9px}
.cccp-solid-color-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cccp-solid-color-row input[type=color]{width:50px;height:36px;padding:2px}.cccp-solid-color-row input[type=text]{width:100px;height:36px}

/* Sfondi raster reali: miniature contenute e leggibili. */
.cccp-raster-bg-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important}.cccp-raster-bg-grid button{padding:4px!important}.cccp-raster-bg-grid img{width:100%;aspect-ratio:1.35/1;object-fit:cover;border-radius:4px;background:#eef2f6}.cccp-raster-bg-grid span{display:block;margin-top:3px;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cccp-custom-bg-editor{display:grid;grid-template-columns:minmax(220px,320px) minmax(180px,1fr);gap:14px;align-items:center;margin-top:10px;padding:10px;border:1px solid var(--cccp-manual-border-soft);border-radius:8px;background:#f8fafc}.cccp-custom-bg-editor[hidden]{display:none!important}.cccp-custom-bg-preview{width:100%;aspect-ratio:1.55/1;border:1px solid #98a2b3;border-radius:6px;background-color:#e4e7ec;background-repeat:no-repeat;cursor:move;touch-action:none}.cccp-custom-bg-editor label{display:grid;gap:7px;font-size:11px;color:#475467}

/* Pattern: miniature più piccole e dense. */
.cccp-pattern-grid{grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:5px!important}.cccp-pattern-grid button{height:42px!important;padding:3px!important}.cccp-pattern-grid button i{height:100%!important;border-radius:3px!important}.cccp-pattern-color-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 12px}.cccp-pattern-color-controls label{display:flex;align-items:center;gap:5px;font-size:10px;color:#475467}.cccp-pattern-color-controls input[type=color]{width:44px;height:32px;padding:2px}

@media (max-width:1100px){.cccp-vector-frame-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.cccp-raster-bg-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}.cccp-pattern-grid{grid-template-columns:repeat(8,minmax(0,1fr))!important}}
@media (max-width:760px){.cccp-sheet-scope-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.cccp-frame-primary-controls,.cccp-gradient-compact,.cccp-custom-bg-editor{grid-template-columns:1fr}.cccp-vector-frame-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cccp-raster-bg-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cccp-pattern-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}

/* Alias markup effettivo della toolbar testo. */
.cccp-manual-text-format{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:8px 0 10px}
.cccp-manual-text-format button{min-width:38px;height:34px;padding:0 9px;border:1px solid var(--cccp-manual-border);border-radius:6px;background:#fff;color:#344054;font-weight:700;cursor:pointer}
.cccp-manual-text-format button.is-active,.cccp-manual-text-format button[aria-pressed="true"]{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);color:var(--cccp-manual-primary)}
.cccp-mini-vector-frame{position:absolute!important;inset:0!important;display:block!important;z-index:4!important;background-repeat:no-repeat!important;background-position:center!important;background-size:100% 100%!important;pointer-events:none!important}
.cccp-mini-double-frame{position:absolute!important;inset:1px!important;display:block!important;z-index:5!important;border:1px double rgba(255,255,255,.9)!important;box-shadow:inset 0 0 0 1px rgba(16,24,40,.18)!important;pointer-events:none!important}

/* Cupro 0.29.0 — stacking stabile, pan vincolato, cornici cumulative e anteprime di dettaglio. */
.cccp-manual-help-button{width:34px;height:34px;min-width:34px;padding:0;border:1px solid var(--cccp-manual-border);border-radius:50%;background:#fff;color:var(--cccp-manual-primary);font-size:17px;font-weight:800;line-height:1;cursor:pointer}
.cccp-manual-help-button:hover,.cccp-manual-help-button:focus-visible{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);outline:2px solid transparent}

.cccp-help-sheet{z-index:10060!important}.cccp-help-dialog{width:min(980px,calc(100% - 28px))!important;max-height:min(82vh,760px)!important;align-self:center}.cccp-help-body{padding:18px 20px 24px;overflow:auto}.cccp-help-body section+section{margin-top:20px;padding-top:18px;border-top:1px solid var(--cccp-manual-border-soft)}.cccp-help-body h3{margin:0 0 10px;color:#1d2939;font-size:15px}.cccp-help-start ol{display:grid;gap:8px;margin:0;padding-left:22px;color:#344054;font-size:12px;line-height:1.45}.cccp-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cccp-help-grid>div{display:grid;gap:5px;padding:10px;border:1px solid var(--cccp-manual-border-soft);border-radius:8px;background:#f8fafc}.cccp-help-grid strong{font-size:11px;color:#1d2939}.cccp-help-grid span{font-size:10.5px;line-height:1.35;color:#667085}.cccp-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.cccp-shortcut-grid>div{display:grid;grid-template-columns:minmax(118px,.42fr) 1fr;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid #f0f2f5}.cccp-shortcut-grid span{font-size:11px;color:#475467}.cccp-help-body kbd{display:inline-flex;align-items:center;justify-content:center;min-width:25px;min-height:24px;padding:2px 6px;border:1px solid #cfd4dc;border-bottom-width:2px;border-radius:5px;background:#fff;color:#344054;font:600 10px/1.1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 1px 1px rgba(16,24,40,.06)}

/* Le guide di centro restano visibili soltanto durante il gesto. Le orizzontali sono spezzate per pagina. */
.cccp-page-center-guide{position:absolute;z-index:975;pointer-events:none;background:rgba(19,94,150,.52);box-shadow:0 0 0 1px rgba(255,255,255,.55)}
.cccp-page-center-guide[hidden]{display:none!important}.cccp-page-center-guide.is-v{top:0;bottom:0;width:1px}.cccp-page-center-guide.is-v.is-left{left:25%}.cccp-page-center-guide.is-v.is-right{left:75%}.cccp-page-center-guide.is-h{top:50%;height:1px}.cccp-page-center-guide.is-h.is-left{left:0;width:50%}.cccp-page-center-guide.is-h.is-right{left:50%;width:50%}.cccp-page-center-guide.is-active{z-index:982;background:#e11d48;box-shadow:0 0 0 1px rgba(255,255,255,.8)}

/* La selezione multipla rimane leggibile; solo l'elemento primario mostra le maniglie. */
.cccp-canvas-element.is-multi-selected{outline-style:dashed!important}.cccp-canvas-element.is-multi-selected.is-frame-selected,.cccp-canvas-element.is-multi-selected.is-text-selected{outline-style:solid!important}

/* Libreria sfondi a famiglie, più vicina a un catalogo editoriale che a un elenco infinito. */
.cccp-bg-quick{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cccp-bg-quick>div{min-width:0}.cccp-bg-catalog-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:10px}.cccp-bg-catalog-head h4{margin:0 0 2px}.cccp-bg-catalog-head small{color:#667085;font-size:10px}.cccp-bg-catalog-head input[type=search]{width:min(260px,42%);min-height:36px;padding:6px 10px;border:1px solid var(--cccp-manual-border);border-radius:7px;background:#fff}.cccp-bg-family-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}.cccp-bg-family-tabs button{min-height:32px;padding:5px 10px;border:1px solid var(--cccp-manual-border);border-radius:999px;background:#fff;color:#475467;font-size:10px;cursor:pointer}.cccp-bg-family-tabs button:hover,.cccp-bg-family-tabs button.is-active{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);color:var(--cccp-manual-primary)}.cccp-raster-bg-grid button small{display:block;margin-top:1px;color:#98a2b3;font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cccp-raster-bg-grid button[hidden]{display:none!important}.cccp-bg-empty{margin:12px 0 0;color:#667085;font-size:11px}

@media (max-width:820px){.cccp-help-grid{grid-template-columns:1fr 1fr}.cccp-shortcut-grid{grid-template-columns:1fr}.cccp-bg-quick{grid-template-columns:1fr}.cccp-bg-catalog-head{align-items:stretch;flex-direction:column}.cccp-bg-catalog-head input[type=search]{width:100%}}
@media (max-width:560px){.cccp-help-grid{grid-template-columns:1fr}.cccp-shortcut-grid>div{grid-template-columns:1fr}.cccp-help-dialog{width:calc(100% - 14px)!important}.cccp-help-body{padding:14px}}

/* Cupro 0.32.0 — cornici equal-port: stessa fase ai quattro angoli. */
.cccp-photo-vector-sides,.cccp-frame-window-vector,.cccp-mini-vector-sides{position:absolute;inset:0;display:block;pointer-events:none;overflow:hidden;box-sizing:border-box}
.cccp-photo-vector-sides{z-index:10}.cccp-mini-vector-sides{z-index:4}
.cccp-photo-vector-sides>i,.cccp-frame-window-vector>i,.cccp-mini-vector-sides>i{position:absolute;display:block;overflow:hidden}
.cccp-photo-vector-sides>.is-top,.cccp-frame-window-vector>.is-top,.cccp-mini-vector-sides>.is-top{left:var(--cccp-vector-band);right:var(--cccp-vector-band);top:0;height:var(--cccp-vector-band)}
.cccp-photo-vector-sides>.is-bottom,.cccp-frame-window-vector>.is-bottom,.cccp-mini-vector-sides>.is-bottom{left:var(--cccp-vector-band);right:var(--cccp-vector-band);bottom:0;height:var(--cccp-vector-band)}
.cccp-photo-vector-sides>.is-left,.cccp-frame-window-vector>.is-left,.cccp-mini-vector-sides>.is-left{left:0;top:var(--cccp-vector-band);bottom:var(--cccp-vector-band);width:var(--cccp-vector-band)}
.cccp-photo-vector-sides>.is-right,.cccp-frame-window-vector>.is-right,.cccp-mini-vector-sides>.is-right{right:0;top:var(--cccp-vector-band);bottom:var(--cccp-vector-band);width:var(--cccp-vector-band)}
.cccp-photo-vector-sides>i>span,.cccp-frame-window-vector>i>span,.cccp-mini-vector-sides>i>span{position:absolute;display:block;background-image:var(--cccp-edge-image);background-position:0 0}
.cccp-photo-vector-sides>.is-top>span,.cccp-photo-vector-sides>.is-bottom>span,.cccp-frame-window-vector>.is-top>span,.cccp-frame-window-vector>.is-bottom>span,.cccp-mini-vector-sides>.is-top>span,.cccp-mini-vector-sides>.is-bottom>span{top:0;height:100%;background-size:var(--cccp-vector-terminal) var(--cccp-vector-band)}
.cccp-photo-vector-sides>.is-left>span,.cccp-photo-vector-sides>.is-right>span,.cccp-frame-window-vector>.is-left>span,.cccp-frame-window-vector>.is-right>span,.cccp-mini-vector-sides>.is-left>span,.cccp-mini-vector-sides>.is-right>span{left:0;width:100%;background-size:var(--cccp-vector-band) var(--cccp-vector-terminal)}
.cccp-photo-vector-sides>.is-top>.is-start,.cccp-photo-vector-sides>.is-bottom>.is-start,.cccp-frame-window-vector>.is-top>.is-start,.cccp-frame-window-vector>.is-bottom>.is-start,.cccp-mini-vector-sides>.is-top>.is-start,.cccp-mini-vector-sides>.is-bottom>.is-start{left:0;width:var(--cccp-vector-terminal);background-repeat:no-repeat}
.cccp-photo-vector-sides>.is-top>.is-end,.cccp-photo-vector-sides>.is-bottom>.is-end,.cccp-frame-window-vector>.is-top>.is-end,.cccp-frame-window-vector>.is-bottom>.is-end,.cccp-mini-vector-sides>.is-top>.is-end,.cccp-mini-vector-sides>.is-bottom>.is-end{right:0;width:var(--cccp-vector-terminal);background-repeat:no-repeat}
.cccp-photo-vector-sides>.is-top>.is-middle,.cccp-photo-vector-sides>.is-bottom>.is-middle,.cccp-frame-window-vector>.is-top>.is-middle,.cccp-frame-window-vector>.is-bottom>.is-middle,.cccp-mini-vector-sides>.is-top>.is-middle,.cccp-mini-vector-sides>.is-bottom>.is-middle{left:var(--cccp-vector-terminal);right:var(--cccp-vector-terminal);background-repeat:repeat-x}
.cccp-photo-vector-sides>.is-left>.is-start,.cccp-photo-vector-sides>.is-right>.is-start,.cccp-frame-window-vector>.is-left>.is-start,.cccp-frame-window-vector>.is-right>.is-start,.cccp-mini-vector-sides>.is-left>.is-start,.cccp-mini-vector-sides>.is-right>.is-start{top:0;height:var(--cccp-vector-terminal);background-repeat:no-repeat}
.cccp-photo-vector-sides>.is-left>.is-end,.cccp-photo-vector-sides>.is-right>.is-end,.cccp-frame-window-vector>.is-left>.is-end,.cccp-frame-window-vector>.is-right>.is-end,.cccp-mini-vector-sides>.is-left>.is-end,.cccp-mini-vector-sides>.is-right>.is-end{bottom:0;height:var(--cccp-vector-terminal);background-repeat:no-repeat}
.cccp-photo-vector-sides>.is-left>.is-middle,.cccp-photo-vector-sides>.is-right>.is-middle,.cccp-frame-window-vector>.is-left>.is-middle,.cccp-frame-window-vector>.is-right>.is-middle,.cccp-mini-vector-sides>.is-left>.is-middle,.cccp-mini-vector-sides>.is-right>.is-middle{top:var(--cccp-vector-terminal);bottom:var(--cccp-vector-terminal);background-repeat:repeat-y}
.cccp-photo-vector-sides>.is-corner,.cccp-frame-window-vector>.is-corner,.cccp-mini-vector-sides>.is-corner{position:absolute;display:block;width:var(--cccp-vector-band);height:var(--cccp-vector-band);background-repeat:no-repeat;background-position:center;background-size:100% 100%;z-index:2}
.cccp-photo-vector-sides>.is-tl,.cccp-frame-window-vector>.is-tl,.cccp-mini-vector-sides>.is-tl{left:0;top:0}.cccp-photo-vector-sides>.is-tr,.cccp-frame-window-vector>.is-tr,.cccp-mini-vector-sides>.is-tr{right:0;top:0}.cccp-photo-vector-sides>.is-br,.cccp-frame-window-vector>.is-br,.cccp-mini-vector-sides>.is-br{right:0;bottom:0}.cccp-photo-vector-sides>.is-bl,.cccp-frame-window-vector>.is-bl,.cccp-mini-vector-sides>.is-bl{left:0;bottom:0}

/* La preview vive sul perimetro esterno dell'intero editor, sopra il foglio modale. */
.cccp-manual-dialog.is-frame-previewing{border-color:transparent!important;transition:box-shadow .12s ease}
.cccp-frame-window-live{position:absolute;inset:0;z-index:10120;pointer-events:none;border-radius:14px;overflow:hidden;box-sizing:border-box}
.cccp-frame-window-live.is-plain{box-shadow:inset 0 0 0 var(--cccp-live-stroke,2px) var(--cccp-live-color,#344054)}
.cccp-frame-window-live.has-double:before{content:"";position:absolute;inset:7px;z-index:10123;border:2px solid var(--cccp-live-color,#344054);border-radius:9px;pointer-events:none}
.cccp-frame-window-live.has-inner:after{content:"";position:absolute;inset:13px;z-index:10124;border:1px solid var(--cccp-live-color,#344054);border-radius:7px;pointer-events:none}
.cccp-frame-window-live.has-emboss{box-shadow:inset 2px 2px 0 rgba(255,255,255,.72),inset -2px -2px 0 rgba(0,0,0,.25)}
.cccp-frame-window-live>.cccp-frame-window-vector{z-index:10122}
.cccp-manual-sheet>section>header>button{position:relative;z-index:2}

.cccp-frame-primary-controls{grid-template-columns:minmax(230px,1fr) minmax(230px,1fr) minmax(190px,.6fr)!important;gap:14px!important;align-items:end!important}
.cccp-frame-primary-controls>label{display:grid!important;grid-template-columns:1fr auto!important;gap:5px 10px!important;align-items:center!important}
.cccp-frame-primary-controls>label>input[type=range]{grid-column:1 / -1}
.cccp-frame-primary-controls>label>output{font-size:10px;color:#667085;text-align:right}
.cccp-frame-primary-controls>.cccp-color-picker{grid-template-columns:auto 52px minmax(86px,105px)!important}
.cccp-frame-catalog-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:16px}.cccp-frame-catalog-head h4{margin:0 0 2px}.cccp-frame-catalog-head small{color:#667085;font-size:9.5px}.cccp-frame-catalog-head input[type=search]{width:min(260px,38%);min-width:170px;height:34px}
.cccp-frame-family-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0}.cccp-frame-family-tabs button{min-height:30px;padding:4px 9px;border:1px solid var(--cccp-manual-border-soft);border-radius:999px;background:#fff;color:#475467;font-size:9px;cursor:pointer}.cccp-frame-family-tabs button:hover,.cccp-frame-family-tabs button.is-active{border-color:var(--cccp-manual-primary);background:var(--cccp-manual-primary-soft);color:var(--cccp-manual-primary)}
.cccp-vector-frame-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important}
.cccp-vector-frame-grid>button{min-height:49px;padding:7px 8px!important;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:3px}.cccp-vector-frame-grid>button>strong{font-size:9.5px;line-height:1.15;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cccp-vector-frame-grid>button>small{margin:0!important;font-size:8px!important;color:#98a2b3!important}.cccp-vector-frame-grid>button.is-selected>strong{color:var(--cccp-manual-primary)}

.cccp-frame-effect-settings{display:grid;gap:10px;margin-top:10px}.cccp-frame-effect-settings>section{padding:11px 12px;border:1px solid var(--cccp-manual-border-soft);border-radius:9px;background:#f8fafc}.cccp-frame-effect-settings>section[hidden]{display:none}.cccp-frame-effect-settings h5{margin:0 0 9px;font-size:11px;color:#344054}.cccp-frame-effect-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.cccp-frame-effect-grid>label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 8px;margin:0;font-size:9.5px;font-weight:600;color:#475467}.cccp-frame-effect-grid>label input[type=range]{grid-column:1/-1;width:100%}.cccp-frame-effect-grid>label output{font-size:9px;font-weight:500;color:#667085;text-align:right}.cccp-frame-effect-grid>.cccp-effect-color{grid-template-columns:auto 44px;align-content:end}.cccp-frame-effect-grid>.cccp-effect-color input[type=color]{width:44px;min-height:32px;padding:2px}

@media (max-width:1100px){.cccp-frame-effect-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media (max-width:900px){.cccp-frame-primary-controls{grid-template-columns:1fr 1fr!important}.cccp-frame-primary-controls>.cccp-color-picker{grid-column:1/-1}.cccp-vector-frame-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.cccp-frame-effect-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media (max-width:620px){.cccp-frame-primary-controls{grid-template-columns:1fr!important}.cccp-frame-primary-controls>.cccp-color-picker{grid-column:auto}.cccp-frame-catalog-head{align-items:stretch;flex-direction:column}.cccp-frame-catalog-head input[type=search]{width:100%}.cccp-vector-frame-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cccp-frame-effect-grid{grid-template-columns:1fr}.cccp-frame-window-live{border-radius:8px}}

/* Cupro 0.34.0 — Sfondi compatti, preview integrata nell’area upload. */
.cccp-bg-live-panel{display:none!important}
.cccp-bg-quick-034{display:grid!important;grid-template-columns:minmax(230px,.55fr) minmax(480px,1.45fr);gap:14px;align-items:start}
.cccp-bg-solid-card,.cccp-bg-personal-card{min-width:0;padding:12px;border:1px solid var(--cccp-manual-border-soft);border-radius:10px;background:#f8fafc}
.cccp-bg-solid-card h4,.cccp-bg-personal-card h4{margin:0 0 8px}
.cccp-bg-personal-head{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:8px}.cccp-bg-personal-head small{font-size:9.5px;color:#667085;line-height:1.35}
.cccp-bg-inline-editor{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(240px,1.1fr);gap:12px;align-items:center}
.cccp-bg-live-preview-compact{position:relative;min-height:112px;max-height:190px;overflow:hidden;border:1px solid #98a2b3;border-radius:8px;background:#fff;cursor:default;touch-action:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.cccp-bg-live-preview-compact.has-raster{cursor:grab}.cccp-bg-live-preview-compact.has-raster.is-dragging{cursor:grabbing}
.cccp-bg-live-preview-compact .cccp-bg-live-image{position:absolute;inset:0;background-repeat:no-repeat;pointer-events:none}
.cccp-bg-live-preview-compact>span{position:absolute;inset:0;background:linear-gradient(135deg,#f8fafc,#eef2f6);pointer-events:none}
.cccp-bg-live-preview-compact>span[hidden]{display:none!important}
.cccp-bg-live-preview-compact>em{position:absolute;left:8px;bottom:7px;padding:3px 6px;border-radius:999px;background:rgba(16,24,40,.62);color:#fff;font-size:8px;font-style:normal;pointer-events:none;opacity:0;transition:opacity .15s}.cccp-bg-live-preview-compact.has-raster>em{opacity:1}
.cccp-custom-bg-upload{position:absolute;inset:0;z-index:3;border:0;background:transparent;color:#344054;font-weight:700;font-size:11px;cursor:pointer;padding:12px}
.cccp-bg-live-preview-compact.has-raster .cccp-custom-bg-upload{inset:auto 7px 7px auto;padding:5px 8px;border-radius:6px;background:rgba(255,255,255,.9);box-shadow:0 1px 4px rgba(16,24,40,.15);font-size:8.5px;color:#344054}
.cccp-bg-live-controls-compact{display:grid;gap:8px}.cccp-bg-live-controls-compact label{display:grid;grid-template-columns:54px minmax(90px,1fr) 45px;gap:6px;align-items:center;font-size:9.5px;color:#475467}.cccp-bg-live-controls-compact output{text-align:right;font-size:9px;font-weight:650}.cccp-bg-live-controls-compact .button{justify-self:start;min-height:30px}
.cccp-bg-family-tabs{display:flex;gap:5px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.cccp-bg-family-tabs button{white-space:nowrap}
.cccp-raster-bg-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}.cccp-raster-bg-grid img{aspect-ratio:4/3!important;object-fit:cover}
@media(max-width:1150px){.cccp-bg-quick-034{grid-template-columns:1fr}.cccp-bg-inline-editor{grid-template-columns:minmax(220px,.85fr) minmax(220px,1.15fr)}.cccp-raster-bg-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:760px){.cccp-bg-inline-editor{grid-template-columns:1fr}.cccp-bg-live-preview-compact{max-height:170px}.cccp-raster-bg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* 0.39.0 — contenimento pannelli laterali: nessuna fuoriuscita orizzontale. */
.cccp-manual-layouts,.cccp-manual-photos{overflow-x:hidden!important}
.cccp-manual-layouts>*,.cccp-manual-photos>*,.cccp-manual-layouts header>*,.cccp-manual-photos header>*{min-width:0;max-width:100%;box-sizing:border-box}
.cccp-manual-layouts button,.cccp-manual-photos button,.cccp-manual-layouts input,.cccp-manual-photos input,.cccp-manual-layouts select,.cccp-manual-photos select{max-width:100%}

/* Cupro 0.39.0 — feedback upload e contenimento trasversale */
.cccp-manual-progress-inline{height:30px;margin:6px 0 8px;border-radius:7px;flex:0 0 auto}
.cccp-manual-progress-inline>strong{padding:0 8px;font-size:9px}
.cccp-manual-progress-inline[data-state="error"]>span{background:#fee4e2}
.cccp-custom-bg-upload.is-uploading{display:flex;align-items:center;justify-content:center;gap:7px;cursor:wait!important;pointer-events:none}
.cccp-custom-bg-upload.is-uploading:before{content:"";width:13px;height:13px;flex:0 0 13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cccp-upload-spin .7s linear infinite}
@keyframes cccp-upload-spin{to{transform:rotate(360deg)}}

/* Cupro 1.0.4 — guida area sicura non stampabile nell'editor fotolibro. */
.cccp-safe-area-guide{position:absolute;z-index:806;pointer-events:none;border:1.5px dashed rgba(217,119,6,.92);box-sizing:border-box;box-shadow:0 0 0 9999px rgba(245,158,11,.035)}
.cccp-safe-area-guide span{position:absolute;left:4px;top:4px;padding:1px 5px;border-radius:3px;background:rgba(255,255,255,.88);color:#a15c00;font-size:8px;font-weight:700;line-height:1.35;white-space:nowrap;box-shadow:0 1px 3px rgba(16,24,40,.12)}
.cccp-manual-safe-notice{margin:0 0 8px;padding:7px 10px;border:1px solid rgba(217,119,6,.28);border-radius:7px;background:rgba(255,251,235,.86);color:#7c4a03;font-size:12px;line-height:1.4}
.cccp-manual-safe-notice.is-warning{border-color:rgba(185,28,28,.35);background:rgba(254,242,242,.94);color:#991b1b;font-weight:650}

/* 1.0.5 — Fotolibro: workspace mobile canvas-first con pannelli a comparsa. */
.cccp-manual-mobile-dock{display:none}
html.cccp-manual-open #qlwapp,
html.cccp-manual-open .qlwapp,
html.cccp-manual-open .joinchat,
html.cccp-manual-open .ht-ctc-chat,
html.cccp-manual-open .wa__btn_popup,
html.cccp-manual-open [class*="whatsapp-floating"],
html.cccp-manual-open [id*="whatsapp-floating"]{display:none!important}

@media(max-width:820px){
  .cccp-manual-modal{padding:0!important;place-items:stretch!important}
  .cccp-manual-dialog{width:100vw!important;height:100vh!important;height:100dvh!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .cccp-manual-editor{position:relative;min-height:0;overflow:hidden}
  .cccp-manual-toolbar{
    position:static!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'summary save'!important;
    gap:6px!important;min-height:48px!important;padding:5px 7px!important;padding-top:max(5px,env(safe-area-inset-top))!important
  }
  .cccp-manual-photo-summary{grid-area:summary!important;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:10px!important;white-space:nowrap}
  .cccp-manual-photo-summary strong{font-size:13px!important}
  .cccp-manual-savebox{grid-area:save!important;gap:5px!important}
  .cccp-manual-savebox [data-manual-save]{min-height:36px!important;min-width:62px!important;padding:6px 10px!important;font-size:11px!important}
  .cccp-manual-savebox .cccp-manual-help-button,.cccp-manual-toolbar-close{width:34px!important;height:34px!important;min-width:34px!important}
  .cccp-manual-savebox small{display:none!important}

  .cccp-manual-workspace{position:relative!important;display:block!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;background:#e8ebef}
  .cccp-manual-stage{position:absolute!important;z-index:1;inset:0!important;min-width:0!important;min-height:0!important;display:flex!important;overflow:hidden!important}
  .cccp-manual-canvas-wrap{flex:1 1 auto!important;min-height:0!important;width:100%!important;padding:8px!important;overflow:auto!important;overscroll-behavior:contain!important}
  .cccp-manual-canvas{width:min(100%,1050px)!important;max-width:100%!important;max-height:100%!important;flex:0 0 auto!important}
  .cccp-manual-safe-notice{flex:0 0 auto!important;margin:5px 7px 0!important;padding:5px 8px!important;max-height:40px!important;overflow:auto!important;font-size:9.5px!important;line-height:1.25!important}

  .cccp-manual-layouts,.cccp-manual-photos{
    position:absolute!important;z-index:82!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;max-width:none!important;
    height:auto!important;max-height:min(72%,560px)!important;min-height:0!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
    border:1px solid #d0d5dd!important;border-bottom:0!important;border-radius:18px 18px 0 0!important;background:#fff!important;
    box-shadow:0 -14px 42px rgba(16,24,40,.2)!important;transform:translateY(105%)!important;opacity:0!important;pointer-events:none!important;
    transition:transform .2s ease,opacity .16s ease!important
  }
  .cccp-manual-editor[data-mobile-panel="layouts"] .cccp-manual-layouts,
  .cccp-manual-editor[data-mobile-panel="photos"] .cccp-manual-photos{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}
  .cccp-manual-layouts>header,.cccp-manual-photos>header{position:sticky;z-index:2;top:0;min-height:46px;padding:9px 11px!important;background:rgba(255,255,255,.98)!important;backdrop-filter:blur(4px)}
  .cccp-manual-layouts>header:before,.cccp-manual-photos>header:before{content:"";position:absolute;top:5px;left:50%;width:42px;height:4px;border-radius:999px;background:#ccd5e1;transform:translateX(-50%)}
  .cccp-manual-layouts>header{padding-top:13px!important;display:flex!important;flex-direction:row!important;align-items:center!important}
  .cccp-manual-layouts>header small{display:none!important}
  [data-manual-layout-list]{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:8px 10px 12px!important}
  [data-manual-photo-library]{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:auto!important;padding:8px 10px 12px!important}

  /* Gli strumenti della toolbar diventano anch'essi un bottom-sheet. */
  .cccp-manual-menu{
    position:absolute!important;z-index:120!important;left:8px!important;right:8px!important;bottom:calc(138px + env(safe-area-inset-bottom))!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;max-height:52vh!important;padding:12px!important;
    border:1px solid #d0d5dd!important;border-radius:14px!important;background:#fff!important;box-shadow:0 16px 50px rgba(16,24,40,.24)!important;
    transform:translateY(18px) scale(.98)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.16s ease!important
  }
  .cccp-manual-editor[data-mobile-panel="tools"] .cccp-manual-menu{transform:translateY(0) scale(1)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .cccp-manual-menu button{min-height:46px!important;font-size:11px!important}

  .cccp-manual-mobile-dock{
    position:relative;z-index:105;flex:0 0 auto;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;
    padding:4px 5px;border-top:1px solid #d7dce4;background:#fff;box-shadow:0 -2px 12px rgba(16,24,40,.06)
  }
  .cccp-manual-mobile-dock button{min-height:48px;padding:4px 3px;border:0;border-radius:8px;background:transparent;color:#667085;display:grid;grid-template-rows:20px auto;place-items:center;gap:1px;font:700 9px/1.1 inherit}
  .cccp-manual-mobile-dock button b{font-size:17px;line-height:1;color:#344054}.cccp-manual-mobile-dock button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .cccp-manual-mobile-dock button.is-active{background:#eef6fc;color:#135e96}.cccp-manual-mobile-dock button.is-active b{color:#135e96}

  .cccp-manual-filmstrip{flex:0 0 78px!important;height:78px!important;min-height:78px!important;padding:5px 6px!important;gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important}
  .cccp-manual-filmstrip>button{min-width:74px!important;width:74px!important;height:66px!important}
}

@media(max-width:820px) and (orientation:landscape){
  .cccp-manual-layouts,.cccp-manual-photos{left:auto!important;width:min(360px,66vw)!important;height:100%!important;max-height:100%!important;border-radius:16px 0 0 16px!important;border-bottom:1px solid #d0d5dd!important;transform:translateX(105%)!important}
  .cccp-manual-editor[data-mobile-panel="layouts"] .cccp-manual-layouts,.cccp-manual-editor[data-mobile-panel="photos"] .cccp-manual-photos{transform:translateX(0)!important}
  .cccp-manual-filmstrip{height:68px!important;min-height:68px!important;flex-basis:68px!important}
  .cccp-manual-filmstrip>button{height:58px!important;min-width:70px!important;width:70px!important}
  .cccp-manual-menu{left:auto!important;width:min(360px,66vw)!important;bottom:calc(118px + env(safe-area-inset-bottom))!important}
  .cccp-manual-mobile-dock button{min-height:44px!important}
}
