/* Illustrated marking choices and a larger, proportionally scaled preview. */
body.qptt-product-page .qptt-workspace{
 grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);
 column-gap:32px;
}
body.qptt-product-page .qptt-preview-card{
 padding:14px 14px 12px;
 border-radius:20px;
 background:radial-gradient(ellipse at 50% 35%,#fff 0%,#f3f7fb 58%,#eaf1f8 100%);
}
body.qptt-product-page .qptt-preview-bar{gap:10px;min-height:44px}
body.qptt-product-page .qptt-preview-bar .qptt-tabs{flex:0 1 auto;min-width:0}
body.qptt-product-page .qptt-preview-bar .qptt-tabs button{min-height:40px;padding:8px 18px}
body.qptt-product-page .qptt-preview-bar .qptt-zoom-open{
 display:inline-flex;align-items:center;justify-content:center;gap:7px;
 flex:0 0 auto;min-height:40px;padding:8px 14px;
 border-color:#d3dfeb;border-radius:9px;font-size:12px;line-height:1.3;
}
body.qptt-product-page .qptt-preview-caption{
 display:flex;flex-direction:row;align-items:center;justify-content:center;
 flex-wrap:wrap;gap:3px 12px;margin:7px 0 0;min-height:20px;
}
body.qptt-product-page .qptt-preview-caption>span{font-size:9px;letter-spacing:1.5px}
body.qptt-product-page .qptt-preview-caption [data-view-color]{
 max-width:100%;font-size:11px;line-height:1.4;letter-spacing:0;
 font-weight:500;color:#60768c;overflow-wrap:anywhere;
}
body.qptt-product-page .qptt-workspace .qptt-stage{
 width:min(100%,var(--qptt-stage-width,590px));max-width:590px;margin:0 auto;
}
body.qptt-product-page .qptt-workspace .qptt-preview-note{
 max-width:540px;padding:0 6px;font-size:12px!important;line-height:1.6!important;color:#4d637a;
}

body.qptt-product-page .qptt-panel--markings{padding:18px 16px 16px;border-top-color:var(--qp-yellow)}
body.qptt-product-page .qptt-panel--markings>h2{font-size:20px;line-height:1.3;margin-bottom:8px;letter-spacing:-.35px}
body.qptt-product-page .qptt-panel--markings>h2>span{
 width:32px;height:32px;flex-basis:32px;border:0;background:var(--qp-yellow);
 color:var(--qp-navy);font-size:15px;
}
body.qptt-product-page .qptt-panel--markings>.qptt-step-intro{font-size:13px;line-height:1.6;margin:0 0 14px}
body.qptt-product-page .qptt-slot-title{font-size:16px;line-height:1.45;font-weight:800;color:var(--qp-navy);margin:0 0 10px}
body.qptt-product-page .qptt-slot-cards{display:grid;grid-template-columns:repeat(var(--qptt-slot-columns,3),minmax(0,1fr));gap:7px}
body.qptt-product-page button.qptt-slot-card{
 position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
 gap:2px;min-width:0;min-height:44px;padding:6px;
 border:2px solid #e2e9f0;border-radius:10px;background:#fff;color:var(--qp-navy);
 font-family:inherit;font-size:13px;font-weight:750;line-height:1.3;text-align:center;
 box-shadow:0 2px 6px #213e6704;transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
body.qptt-product-page .qptt-slot-card:not(:disabled):hover{border-color:#9eafc2;background:#f7faff;transform:translateY(-1px)}
body.qptt-product-page .qptt-slot-card.has-mark{border-color:#c7d4e1;background:#f7fafe}
body.qptt-product-page .qptt-slot-card.is-active{
 border-color:var(--qp-navy);background:linear-gradient(135deg,#fff7d4,#fff2bd);
 box-shadow:0 3px 12px #b9a45712;
}
body.qptt-product-page .qptt-slot-card.is-active:hover{border-color:var(--qp-navy);background:#fff2bd}
body.qptt-product-page .qptt-slot-card:focus-visible{outline:3px solid #c8a100;outline-offset:3px}
body.qptt-product-page .qptt-slot-card:disabled,
body.qptt-product-page .qptt-slot-card.is-unavailable{opacity:.55;box-shadow:none;cursor:not-allowed}
body.qptt-product-page .qptt-slot-card__visual{
 position:relative;display:block;flex:0 0 auto;width:min(100%,84px);
 aspect-ratio:420/500;margin:0 auto;pointer-events:none;
}
body.qptt-product-page .qptt-slot-card__image,
body.qptt-product-page .qptt-slot-card__visual>svg{
 position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;
 filter:drop-shadow(0 4px 3px #203a5511);
}
body.qptt-product-page .qptt-slot-card__marker{
 position:absolute;z-index:2;display:grid;place-items:center;width:12px;height:12px;
 transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;
 background:var(--qp-yellow);box-shadow:0 0 0 1px #213e6759;pointer-events:none;
 font-size:8px;font-weight:800;line-height:1;color:var(--qp-navy);
}
body.qptt-product-page .qptt-slot-card__marker.is-wide{width:22px;height:8px;border-width:1px;border-radius:4px;font-size:6px}
body.qptt-product-page .qptt-slot-card__label{display:block;max-width:100%;font-size:13px;line-height:1.35;font-weight:800;overflow-wrap:anywhere}
body.qptt-product-page .qptt-slot-card__side{display:block;max-width:100%;font-size:10px;line-height:1.3;font-weight:500;color:#607489;overflow-wrap:anywhere}
body.qptt-product-page .qptt-slot-card__check{
 position:absolute;top:5px;right:5px;display:grid;place-items:center;width:19px;height:19px;
 border-radius:50%;background:#8096ac;color:#fff;font-size:12px;font-weight:800;line-height:1;
 opacity:0;pointer-events:none;
}
body.qptt-product-page .qptt-slot-card.has-mark .qptt-slot-card__check{opacity:1}
body.qptt-product-page .qptt-slot-card.is-active .qptt-slot-card__check{opacity:1;background:var(--qp-navy)}
body.qptt-product-page .qptt-panel--markings select[data-slot]{display:none!important}
body.qptt-product-page .qptt-slot-help{font-size:11px;line-height:1.6;color:#60758a;margin:9px 0 0}

body.qptt-product-page .qptt-panel--markings .qptt-editor{
 border:1px solid #dce7f1;border-radius:13px;background:linear-gradient(135deg,#f1f7fe,#f6faff);
 padding:14px 13px;margin:12px 0 14px;
}
body.qptt-product-page .qptt-editor-heading{font-size:18px;line-height:1.35;font-weight:800;color:var(--qp-navy);letter-spacing:-.25px;margin:0 0 7px}
body.qptt-product-page .qptt-editor-location{
 display:inline-flex;align-items:center;max-width:100%;padding:3px 9px;border-radius:6px;
 background:#e3edf7;color:var(--qp-navy);font-size:12px;line-height:1.5;font-weight:750;
 margin:0 0 2px;overflow-wrap:anywhere;
}
body.qptt-product-page .qptt-panel--markings .qptt-editor>p{font-size:12px;line-height:1.65;color:#587087}
body.qptt-product-page .qptt-editor-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 13px}
body.qptt-product-page .qptt-editor-buttons .qptt-btn{
 width:100%;min-width:0;min-height:44px;justify-content:center;padding:10px 9px;
 border:1px solid var(--qp-navy);border-radius:9px;font-size:13px;line-height:1.4;font-weight:750;
 white-space:normal;overflow-wrap:anywhere;
}
body.qptt-product-page .qptt-editor-buttons .qptt-btn--yellow{border-color:#ddba3c;background:var(--qp-yellow);color:var(--qp-navy)}
body.qptt-product-page .qptt-editor-buttons :is(.qptt-btn--outline,.qptt-btn--light){background:#fff;color:var(--qp-navy)}
body.qptt-product-page .qptt-editor-buttons .qptt-btn:hover:not(:disabled){box-shadow:0 2px 8px #213e6712}
body.qptt-product-page .qptt-editor-buttons svg{width:18px;height:18px;flex:0 0 18px}
body.qptt-product-page .qptt-mark-settings{margin:10px 0 0;padding-top:5px;border-top:1px solid #d9e5f0}
body.qptt-product-page .qptt-mark-settings>summary{
 display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;
 padding:9px 0;list-style:none;cursor:pointer;font-size:12px;line-height:1.5;font-weight:700;color:#486780;
}
body.qptt-product-page .qptt-mark-settings>summary::-webkit-details-marker{display:none}
body.qptt-product-page .qptt-mark-settings>summary::marker{content:''}
body.qptt-product-page .qptt-mark-settings>summary::after{content:'⌄';font-size:17px;line-height:1;transition:transform .15s ease}
body.qptt-product-page .qptt-mark-settings[open]>summary::after{transform:rotate(180deg)}
body.qptt-product-page .qptt-mark-settings>summary:focus-visible{outline:3px solid #c8a100;outline-offset:2px;border-radius:5px}
body.qptt-product-page .qptt-mark-settings .qptt-editor-fields{margin:3px 0 9px;gap:9px}
body.qptt-product-page .qptt-panel--markings .qptt-mark-list{gap:7px;margin-top:12px}
body.qptt-product-page .qptt-panel--markings .qptt-mark-list:empty{display:none}
body.qptt-product-page .qptt-mark-list__title{font-size:12px;line-height:1.5;font-weight:750;color:#526d85;margin:1px 0 2px}
body.qptt-product-page .qptt-panel--markings .qptt-mark-card{background:#fff;border-color:#dce5ee}
body.qptt-product-page .qptt-panel--markings .qptt-mark-card.is-active{background:#fff8dc;border-color:#d9bf66}
body.qptt-product-page .qptt-panel--markings .qptt-add-same-slot{
 display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;
 padding:11px 0 4px;margin-top:7px;border:0;border-top:1px solid #d9e5f0;border-radius:0;
 background:transparent;color:var(--qp-navy);font-size:12px;line-height:1.5;font-weight:750;text-align:left;
}
body.qptt-product-page .qptt-add-same-slot:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}

@media(min-width:1024px){
 body.qptt-product-page .qptt-workspace .qptt-left{position:sticky;top:var(--qptt-sticky-top);align-self:start}
}
@media(min-width:761px) and (max-width:1023px){
 body.qptt-product-page .qptt-workspace{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);column-gap:22px}
 body.qptt-product-page .qptt-panel--markings{padding:16px 13px}
 body.qptt-product-page .qptt-slot-cards{gap:6px}
 body.qptt-product-page .qptt-slot-card__visual{width:min(100%,76px)}
 body.qptt-product-page .qptt-editor-buttons .qptt-btn{font-size:12px}
}
@media(max-width:760px){
 body.qptt-product-page .qptt-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:'heading' 'preview' 'options';column-gap:0;row-gap:17px}
 body.qptt-product-page .qptt-workspace .qptt-left{position:static}
 body.qptt-product-page .qptt-preview-card{padding:11px 11px 12px;border-radius:17px}
 body.qptt-product-page .qptt-preview-bar .qptt-tabs button{min-height:44px;padding:9px 17px}
 body.qptt-product-page .qptt-preview-bar .qptt-zoom-open{min-height:44px;padding:9px 12px}
 body.qptt-product-page .qptt-preview-caption{margin-top:6px;gap:2px 9px}
 body.qptt-product-page .qptt-workspace .qptt-stage{width:100%;max-width:520px}
 body.qptt-product-page .qptt-panel--markings{padding:16px 13px}
 body.qptt-product-page .qptt-panel--markings>h2{font-size:19px}
 body.qptt-product-page .qptt-panel--markings>.qptt-step-intro{font-size:12px;margin-bottom:12px}
 body.qptt-product-page .qptt-slot-cards{gap:6px}
 body.qptt-product-page button.qptt-slot-card{padding:5px}
 body.qptt-product-page .qptt-slot-card__visual{width:min(100%,72px)}
 body.qptt-product-page .qptt-slot-card__label{font-size:12px}
 body.qptt-product-page .qptt-slot-card__side{font-size:9px}
 body.qptt-product-page .qptt-slot-card__marker{width:10px;height:10px;border-width:1px;font-size:7px}
 body.qptt-product-page .qptt-slot-card__marker.is-wide{width:20px;height:8px;font-size:6px}
 body.qptt-product-page .qptt-panel--markings .qptt-editor{padding:13px 12px}
 body.qptt-product-page .qptt-editor-heading{font-size:17px}
 body.qptt-product-page .qptt-panel--markings .qptt-icon-button{width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px}
}
@media(max-width:420px){
 body.qptt-product-page .qptt-slot-cards{gap:6px}
 body.qptt-product-page button.qptt-slot-card{padding:5px 4px;border-radius:9px}
 body.qptt-product-page .qptt-slot-card__visual{width:min(100%,68px)}
 body.qptt-product-page .qptt-slot-card__label{font-size:11px}
 body.qptt-product-page .qptt-slot-card__check{width:17px;height:17px;top:4px;right:4px;font-size:10px}
 body.qptt-product-page .qptt-editor-buttons{grid-template-columns:minmax(0,1fr);gap:8px}
 body.qptt-product-page .qptt-mark-settings .qptt-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.qptt-product-page .qptt-preview-bar .qptt-tabs button{padding:9px 13px}
}
@media(max-width:340px){
 body.qptt-product-page .qptt-slot-card__visual{width:min(100%,64px)}
 body.qptt-product-page .qptt-slot-card__label{font-size:10.5px}
}
@media(prefers-reduced-motion:reduce){
 body.qptt-product-page .qptt-slot-card,
 body.qptt-product-page .qptt-mark-settings>summary::after{transition:none}
 body.qptt-product-page .qptt-slot-card:not(:disabled):hover{transform:none}
}
@media print{
 body.qptt-product-page .qptt-workspace .qptt-left{position:static}
 body.qptt-product-page .qptt-workspace .qptt-stage{width:100%;max-width:590px}
}

/* Direct element controls: keep artwork clipping separate from its handles. */
body.qptt-product-page .qptt-workspace .qptt-mark-preview{overflow:visible}
body.qptt-product-page .qptt-workspace .qptt-element-preview{
 overflow:visible;pointer-events:auto;cursor:grab;touch-action:none;
}
body.qptt-product-page .qptt-workspace .qptt-element-preview:active{cursor:grabbing}
body.qptt-product-page .qptt-element-artwork{
 position:absolute;inset:0;overflow:hidden;pointer-events:none;
}
body.qptt-product-page .qptt-element-artwork>img,
body.qptt-product-page .qptt-element-artwork>svg{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
body.qptt-product-page .qptt-workspace .qptt-element-preview.is-active::before{
 content:'';position:absolute;inset:-1px;z-index:2;border:1px solid #ffffff99;
 box-shadow:0 0 0 1px #355b8066;pointer-events:none;
}
body.qptt-product-page button.qptt-transform-handle{
 position:absolute;z-index:5;display:none;place-items:center;
 width:30px;height:30px;min-width:30px;min-height:30px;padding:0;margin:0;
 border:1px solid #d0dce7;border-radius:50%;background:#fff;color:var(--qp-navy);
 box-shadow:0 2px 7px #152e4b36;line-height:1;cursor:pointer;touch-action:none;
}
body.qptt-product-page .qptt-mark-preview.is-active>.qptt-transform-resize,
body.qptt-product-page .qptt-mark-preview.is-active>.qptt-transform-rotate,
body.qptt-product-page .qptt-element-preview.is-active>.qptt-transform-delete{display:grid}
body.qptt-product-page .qptt-transform-handle svg{
 display:block;width:16px;height:16px;max-width:none;max-height:none;pointer-events:none;
}
body.qptt-product-page .qptt-transform-handle:hover{background:#f3f7fc;border-color:#94aac1}
body.qptt-product-page .qptt-transform-handle:focus-visible{outline:3px solid var(--qp-yellow);outline-offset:3px}
body.qptt-product-page button.qptt-transform-delete{
 top:0;right:0;transform:translate(50%,-50%);color:#bf352d;
}
body.qptt-product-page button.qptt-transform-delete:hover{background:#fff;border-color:#cf817b;color:#a9231c}
body.qptt-product-page button.qptt-transform-resize{
 right:0;bottom:0;transform:translate(50%,50%);cursor:nwse-resize;
}
body.qptt-product-page button.qptt-transform-rotate{
 left:50%;top:calc(100% + 22px);transform:translateX(-50%);cursor:grab;
}
body.qptt-product-page .qptt-transform-rotate::before{
 content:'';position:absolute;left:50%;bottom:100%;width:1px;height:22px;
 transform:translateX(-50%);background:#355b80a8;pointer-events:none;
}
body.qptt-product-page .qptt-transform-size{
 position:absolute;top:calc(100% + 6px);left:0;z-index:3;display:none;
 max-width:none;padding:2px 5px;border:1px solid #dbe4ed;border-radius:4px;
 background:#fff;color:#294c6c;font-size:9px;font-weight:700;line-height:1.4;
 white-space:nowrap;pointer-events:none;
}
body.qptt-product-page .qptt-mark-preview.is-active>.qptt-transform-size{display:block}
body.qptt-product-page .qptt-panel--markings .qptt-replace-logo{
 display:inline-flex;align-items:center;justify-content:center;gap:7px;
 min-height:40px;padding:8px 12px;margin:9px 0 2px;
 border:1px solid #7792ad;border-radius:8px;background:#fff;color:var(--qp-navy);
 font-family:inherit;font-size:12px;font-weight:750;line-height:1.4;cursor:pointer;
}
body.qptt-product-page .qptt-replace-logo:hover{background:#f5f9fe;border-color:var(--qp-navy)}
body.qptt-product-page .qptt-panel--markings .qptt-editor .qptt-direct-help{
 font-size:12px;line-height:1.6;color:#4d6c85;margin:7px 0 8px;
}
body.qptt-product-page .qptt-panel--markings .qptt-editor .qptt-mark-limit{
 display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 8px;
 border:1px solid #d8e4ee;border-radius:6px;background:#eaf2f9;color:#355572;
 font-size:11px;font-weight:650;line-height:1.4;margin:5px 0;overflow-wrap:anywhere;
}
body.qptt-product-page .qptt-zoom-stage .qptt-transform-handle,
body.qptt-product-page .qptt-zoom-stage .qptt-transform-size{display:none!important}
body.qptt-product-page .qptt-zoom-stage .qptt-element-preview,
body.qptt-product-page .qptt-zoom-stage .qptt-element-artwork{pointer-events:none!important;cursor:default!important}
body.qptt-product-page .qptt-zoom-stage .qptt-element-preview.is-active::before{display:none}
@media(max-width:760px){
 body.qptt-product-page button.qptt-transform-handle{width:44px;height:44px;min-width:44px;min-height:44px}
 body.qptt-product-page .qptt-transform-handle svg{width:20px;height:20px}
 body.qptt-product-page button.qptt-transform-delete{top:-12px;right:-12px}
 body.qptt-product-page button.qptt-transform-resize{bottom:-12px;right:-12px}
 body.qptt-product-page button.qptt-transform-rotate{top:calc(100% + 26px)}
 body.qptt-product-page .qptt-transform-rotate::before{height:26px}
 body.qptt-product-page .qptt-panel--markings .qptt-replace-logo{min-height:44px;padding:9px 12px}
 body.qptt-product-page .qptt-transform-size{font-size:9px}
}
@media print{
 body.qptt-product-page .qptt-transform-handle,
 body.qptt-product-page .qptt-transform-size{display:none!important}
 body.qptt-product-page .qptt-element-preview.is-active::before{display:none}
}
