/* Keep the shop theme's button backgrounds and decorative overlays out of the studio. */
html body .dcpd-launcher button,
html body .dcpd-designer button:not(.dcpd-designer__swatch) {
	background: #fff !important;
	color: #1b2532 !important;
	border-color: #cbd5e1 !important;
	box-shadow: none !important;
}

html body .dcpd-launcher button::before,
html body .dcpd-launcher button::after,
html body .dcpd-designer button::before,
html body .dcpd-designer button:not(.dcpd-designer__swatch)::after {
	content: none !important;
	display: none !important;
}

html body .dcpd-launcher button:hover,
html body .dcpd-designer button:not(.dcpd-designer__swatch):hover {
	background: #eef4fb !important;
	border-color: #7b9aba !important;
}

html body .dcpd-designer button.dcpd-designer__button--primary:not(.dcpd-designer__swatch),
html body .dcpd-designer button:not(.dcpd-designer__swatch)[aria-pressed="true"],
html body .dcpd-designer button.dcpd-designer__rail-button.is-active {
	background: #2463a0 !important;
	border-color: #2463a0 !important;
	color: #fff !important;
}

html body .dcpd-designer button.dcpd-designer__swatch {
	background: var(--dcpd-swatch, #fff) !important;
}

html body .dcpd-designer button.dcpd-designer__swatch[aria-pressed="true"]::after {
	background: transparent !important;
}

html body .dcpd-launcher button:focus-visible,
html body .dcpd-designer button:focus-visible {
	outline: 2px solid #2463a0 !important;
	outline-offset: 2px;
}

html body .dcpd-launcher .dcpd-launcher__start,
html body .dcpd-designer .dcpd-designer__text-preset,
html body .dcpd-designer .dcpd-designer__dropzone,
html body .dcpd-designer .artistick-visual-item {
	height: auto !important;
	max-height: none !important;
	white-space: normal;
}

.dcpd-designer .dcpd-designer__drawer,
.dcpd-designer .dcpd-designer__drawer-body {
	background: #fff !important;
	color: #1b2532 !important;
}

.artistick-visuals h3 {
	margin: 0 0 6px;
	font-size: 18px;
	font-weight: 700;
	color: #1b2532;
}

.artistick-visuals p {
	margin: 0 0 12px;
	font-size: 13px;
	color: #465567;
}

.artistick-visuals-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

html body .dcpd-designer .artistick-visual-item {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	min-width: 0;
	margin: 0;
	padding: 8px !important;
	border: 1px solid #cbd5e1;
	border-radius: 9px;
	cursor: pointer;
}

.dcpd-designer .artistick-visual-item img {
	display: block;
	width: 100%;
	height: 80px;
	flex: none;
	object-fit: contain;
	background: transparent !important;
	filter: none !important;
	mix-blend-mode: normal;
}

.dcpd-designer .artistick-visual-item span {
	font-size: 11px;
	line-height: 1.3;
	overflow-wrap: anywhere;
	text-align: center;
}

.dcpd-designer .artistick-visual-item:disabled {
	opacity: .55;
	cursor: wait;
}

.artistick-shirt-options {
	display: flex;
	flex: none;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 8px 16px;
	padding: 9px 16px;
	border-bottom: 1px solid #dfe2e7;
	background: #fff;
}

.artistick-shirt-options label {
	display: grid;
	gap: 3px;
	margin: 0;
	min-width: 0;
	font-size: .85rem;
	font-weight: 600;
}

.dcpd-designer .artistick-shirt-options select {
	width: 100%;
	min-height: 36px;
	margin: 0;
	padding: 4px 24px 4px 8px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	background-color: #fff !important;
	color: #1b2532 !important;
	font: inherit;
}

.artistick-shirt-status {
	font-size: .8rem;
	color: #465567;
}

.artistick-shirt-status:empty {
	display: none;
}

@media (max-width: 600px) {
	.artistick-shirt-options {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, 1fr);
		gap: 6px;
		padding: 6px;
	}

	.artistick-shirt-status {
		grid-column: 1 / -1;
	}
}

/* Artistick 1.0.9 : coloris visibles sans ouvrir le menu déroulant. */
.artistick-colour-swatches { display:flex; flex-wrap:wrap; align-items:center; gap:7px; flex-basis:100%; }
.dcpd-designer .artistick-colour-swatch { display:inline-flex; align-items:center; gap:6px; border:1px solid #cbd5e1; border-radius:8px; padding:5px 8px; background:#fff !important; color:#1b2532 !important; font-size:12px; cursor:pointer; }
.dcpd-designer .artistick-colour-swatch[aria-pressed="true"] { border:2px solid #2463a0; padding:4px 7px; }
.artistick-colour-swatch__circle { width:21px; height:21px; flex:none; border-radius:50%; border:1px solid #a8b0b9; }
@media(max-width:600px) { .artistick-colour-swatches { grid-column:1/-1; } .dcpd-designer .artistick-colour-swatch { font-size:11px; } }

/* v1.0.22 — mobile-only layout. Desktop is intentionally unchanged. */
@media screen and (max-width: 767px) {
  html body .dcpd-designer--modal { width: 100vw; max-width: 100vw; height: 100dvh; overflow: hidden; }
  html body .dcpd-designer__topbar { min-height: 48px; padding: 5px 8px; gap: 5px; }
  html body .dcpd-designer__heading { min-width: 0; overflow: hidden; }
  html body .dcpd-designer__title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 42vw; font-size: 13px; }
  html body .dcpd-designer__spec, html body .dcpd-designer__zoom { display: none !important; }
  html body .dcpd-designer__topbar .dcpd-designer__button { min-height: 32px; padding: 0 7px; font-size: 12px; }
  html body .dcpd-designer .artistick-shirt-options {
    display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
    align-items: end; gap: 5px 8px; padding: 7px 9px;
    max-height: none; overflow-y: visible; overflow-x: hidden;
  }
  html body .dcpd-designer .artistick-shirt-options label { min-width: 0; font-size: 11px; line-height: 1.25; }
  html body .dcpd-designer .artistick-shirt-options select { min-height: 32px; height: 32px; font-size: 13px; }
  html body .dcpd-designer .artistick-colour-swatches {
    grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 5px;
    overflow-x: hidden; overflow-y: visible; padding: 2px 0 4px;
    -webkit-overflow-scrolling: touch; scrollbar-width: thin;
  }
  html body .dcpd-designer .artistick-colour-swatch { flex: 0 0 auto; min-height: 30px; padding: 3px 7px; font-size: 10px; letter-spacing: 0; white-space: nowrap; }
  html body .dcpd-designer .artistick-colour-swatch__circle { width: 15px; height: 15px; }
  html body .dcpd-designer .artistick-shirt-status { grid-column: 1/-1; }
  html body .dcpd-designer__workspace {
    grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) auto auto;
    min-height: 0;
  }
  html body .dcpd-designer__stage { grid-column: 1; grid-row: 1; min-height: 0; }
  html body .dcpd-designer__rail {
    grid-column: 1; grid-row: 3; flex-direction: row; width: 100%;
    gap: 2px; padding: 4px 5px calc(4px + env(safe-area-inset-bottom,0px));
    overflow-x: auto; overflow-y: hidden; border-right: 0; border-top: 1px solid #dfe2e7;
  }
  html body .dcpd-designer .dcpd-designer__rail-button { flex: 1 0 52px; padding: 5px 2px; font-size: 10px; }
  html body .dcpd-designer__rail-button svg { width: 19px; height: 19px; }
  html body .dcpd-designer__drawer {
    grid-column: 1; grid-row: 2; width: 100%; max-height: min(38dvh,330px);
    border-right: 0; border-top: 1px solid #dfe2e7; overflow: auto;
  }
  html body .dcpd-designer__canvas-frame { min-height: 0; }
  html body .dcpd-designer__preview-bar { max-width: calc(100% - 16px); }
}

/* v1.0.23 : les coloris sont tous visibles sur plusieurs lignes, sans défilement horizontal. */
@media screen and (max-width: 767px) {
 html body .dcpd-designer .artistick-colour-swatches { flex-wrap: wrap !important; overflow: visible !important; }
 html body .dcpd-designer .artistick-shirt-options { max-height: none !important; overflow: visible !important; }
}

/* 1.0.26: compact colour selector; the wheel displays all available model colours. */
html body .dcpd-designer .artistick-colour-swatches { display: none !important; }
html body .dcpd-designer .artistick-colour-choice { min-width: 210px; }
html body .dcpd-designer .artistick-colour-control { display: flex; align-items: center; gap: 8px; }
html body .dcpd-designer .artistick-colour-control select { flex: 1 1 auto; min-width: 0; }
html body .dcpd-designer .artistick-colour-wheel { flex: 0 0 39px; width: 39px; height: 39px; border-radius: 50%; border: 1px solid #a7b0bb; box-shadow: inset 0 0 0 2px #fff; }
@media (max-width: 767px) {
 html body .dcpd-designer .artistick-colour-choice { min-width: 0; }
 html body .dcpd-designer .artistick-colour-wheel { flex-basis: 32px; width: 32px; height: 32px; }
 html body .dcpd-designer .artistick-shirt-options { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* 1.0.27: color dots under dropdown, wrapping without horizontal scrolling */
html body .dcpd-designer .artistick-colour-choice { display:flex; flex-direction:column; align-items:stretch; gap:5px; }
html body .dcpd-designer .artistick-colour-control { display:block; }
html body .dcpd-designer .artistick-colour-control select { width:100%; }
html body .dcpd-designer .artistick-colour-dots { display:flex; flex-wrap:wrap; gap:7px; align-items:center; min-height:22px; }
html body .dcpd-designer .artistick-colour-dot { width:20px; height:20px; min-width:20px; padding:0; border-radius:50%; border:1px solid #8a95a5; box-shadow:inset 0 0 0 1px rgba(255,255,255,.55); cursor:pointer; }
html body .dcpd-designer .artistick-colour-dot.is-selected { outline:2px solid #2164a3; outline-offset:2px; }

/* v1.0.28 - real circular swatches, and accessible colour dropdown with coloured items */
html body .dcpd-designer .artistick-colour-choice { position:relative; display:flex; flex-direction:column; gap:5px; }
html body .dcpd-designer .artistick-colour-native { position:absolute !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }
html body .dcpd-designer .artistick-colour-custom { display:block; position:relative; width:100%; }
html body .dcpd-designer button.artistick-colour-trigger { display:flex !important; align-items:center !important; justify-content:space-between !important; width:100% !important; min-height:42px !important; padding:8px 11px !important; border:1px solid #cbd5e1 !important; border-radius:6px !important; background:#fff !important; color:#1b2532 !important; font-size:14px !important; }
html body .dcpd-designer .artistick-colour-trigger-content { display:inline-flex; gap:9px; align-items:center; }
html body .dcpd-designer .artistick-colour-circle { display:inline-block !important; flex:none !important; width:16px !important; height:16px !important; border-radius:50% !important; background:var(--artistick-circle-color) !important; border:1px solid #8b96a5 !important; box-shadow:none !important; }
html body .dcpd-designer .artistick-colour-menu[hidden] { display:none !important; }
html body .dcpd-designer .artistick-colour-menu { position:absolute; z-index:10000; top:calc(100% + 3px); left:0; width:100%; min-width:190px; display:flex; flex-direction:column; max-height:260px; overflow-y:auto; background:#fff; border:1px solid #cbd5e1; border-radius:8px; box-shadow:0 7px 22px #0002; padding:4px; }
html body .dcpd-designer button.artistick-colour-menu-item { display:flex !important; align-items:center !important; gap:10px !important; width:100% !important; padding:10px !important; min-height:40px !important; border:0 !important; border-radius:5px !important; background:#fff !important; color:#1b2532 !important; text-align:left !important; font-size:14px !important; }
html body .dcpd-designer button.artistick-colour-menu-item[aria-selected="true"] { background:#e7f1fc !important; color:#173c68 !important; }
html body .dcpd-designer .artistick-colour-dots { display:flex !important; flex-wrap:wrap !important; gap:9px !important; padding:4px 3px !important; min-height:27px; }
html body .dcpd-designer button.artistick-colour-dot,
html body .dcpd-designer button.artistick-colour-dot:hover,
html body .dcpd-designer button.artistick-colour-dot[aria-pressed="true"] { display:inline-block !important; box-sizing:border-box !important; flex:0 0 21px !important; width:21px !important; min-width:21px !important; max-width:21px !important; height:21px !important; min-height:21px !important; max-height:21px !important; padding:0 !important; margin:0 !important; aspect-ratio:1 !important; border-radius:50% !important; background:var(--artistick-circle-color) !important; border:1px solid #8b96a5 !important; box-shadow:none !important; transform:none !important; }
html body .dcpd-designer button.artistick-colour-dot.is-selected { outline:2px solid #2164a3 !important; outline-offset:2px !important; }

/* v1.0.29 - only round swatches; selected colour name beside the label */
html body .dcpd-designer .artistick-colour-choice { display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:9px !important; }
html body .dcpd-designer .artistick-colour-heading { display:block; white-space:normal; }
html body .dcpd-designer .artistick-colour-heading strong { font-weight:600; }
html body .dcpd-designer .artistick-colour-native { display:none !important; }
html body .dcpd-designer .artistick-colour-dots { display:flex !important; flex-wrap:wrap !important; }

/* v1.0.30 – Saisie de texte dans le panneau, adaptée au mobile. */
.artistick-text-label{display:block;font-weight:650;margin:0 0 8px}
[data-artistick-text-entry]{box-sizing:border-box;width:100%;min-height:100px;padding:12px;border:1px solid #b9c9da;border-radius:10px;font:inherit;line-height:1.5;resize:vertical;background:#fff;color:#182331}
[data-dcpd-section="text"] [data-dcpd-action="add-text"]{width:100%;margin-top:12px}
@media(max-width:650px){[data-artistick-text-entry]{min-height:85px;font-size:16px}}

/* v1.0.31: text input inside the contextual toolbar, above typography controls. */
.dcpd-designer__contextbar [data-dcpd-text-only]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:min(520px,calc(100vw - 40px))}
.dcpd-designer__contextbar [data-dcpd-text-only][hidden]{display:none!important}
.dcpd-designer__contextbar .artistick-context-text-entry{display:block;flex:0 0 100%;width:100%;min-height:54px;max-height:100px;box-sizing:border-box;padding:8px 10px;border:1px solid #bac8d7;border-radius:8px;background:#fff;color:#172337;font:inherit;font-size:16px;line-height:1.35;resize:vertical}
@media(max-width:650px){.dcpd-designer__contextbar [data-dcpd-text-only]{max-width:calc(100vw - 32px)}.dcpd-designer__contextbar .artistick-context-text-entry{min-height:60px}}

/* v1.0.33 – Indicateur chromatique, choix natif et couleur sélectionnée conservée. */
.artistick-color-wheel{position:relative;display:inline-flex;width:40px;height:40px;flex:0 0 40px;align-items:center;justify-content:center;border-radius:9px;background:conic-gradient(#f33,#ff0,#0c5,#0cf,#55f,#f0f,#f33);padding:4px;box-sizing:border-box;cursor:pointer}
.artistick-color-wheel input[type=color]{appearance:none;-webkit-appearance:none;width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;padding:0!important;border:2px solid white!important;border-radius:50%!important;overflow:hidden;cursor:pointer;background:transparent}
.artistick-color-wheel input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.artistick-color-wheel input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}
.artistick-color-wheel input[type=color]::-moz-color-swatch{border:0;border-radius:50%}

/* v1.0.38 : titres plus lisibles et bouton panier bleu métallique. */
html body .dcpd-designer .artistick-shirt-options > label { font-weight: 750 !important; }
html body .dcpd-designer .artistick-colour-heading { font-weight: 750 !important; }
html body .dcpd-designer .dcpd-designer__rail-button span { font-weight: 750 !important; }
html body .dcpd-designer .dcpd-designer__drawer-title { font-weight: 800 !important; }
html body .dcpd-designer button[data-artistick-add-to-cart],
html body .dcpd-designer button[data-artistick-add-to-cart]:hover,
html body .dcpd-designer button[data-artistick-add-to-cart]:focus {
 color: #fff !important; font-weight: 800 !important;
 background: linear-gradient(115deg,#10375d 0%,#286ca9 22%,#79b6df 45%,#307db7 60%,#0c3965 100%) !important;
 border: 1px solid #1b5488 !important;
 box-shadow: inset 0 1px 1px rgba(255,255,255,.45), inset 0 -2px 3px rgba(3,30,61,.3), 0 2px 5px rgba(16,57,96,.22) !important;
 text-shadow: 0 1px 1px rgba(0,31,67,.55);
}

/* v1.0.39 : alignement multiligne et repères de manipulation du texte. */
.dcpd-designer__contextbar .artistick-text-alignment select{min-width:110px;max-width:135px;height:39px;padding:5px 8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172337;font-size:14px}
.dcpd-designer__contextbar .artistick-handle-guide{flex:0 0 100%;display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:#4b5563;font-size:12px;line-height:1.3;padding-top:2px}
.dcpd-designer__contextbar .artistick-handle-guide>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.dcpd-designer__contextbar .artistick-guide-square{width:12px;height:12px;display:inline-block;border:2px solid #1f2937;background:#fff;border-radius:2px;box-sizing:border-box}
@media(max-width:650px){.dcpd-designer__contextbar .artistick-text-alignment select{min-width:96px;max-width:112px;font-size:13px}.dcpd-designer__contextbar .artistick-handle-guide{gap:10px;font-size:11px}}
