.mkc-result {
    max-width: 720px;
    margin: 32px auto 0;
    text-align: center;
}
.mkc-working, .mkc-success {
    padding: 24px;
}
.mkc-spinner {
    width: 34px;
    height: 34px;
    margin: 0 auto 14px;
    border: 3px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: mkc-spin .8s linear infinite;
}
@keyframes mkc-spin { to { transform: rotate(360deg); } }
.mkc-success img {
    display: block;
    width: min(100%, 640px);
    height: auto;
    margin: 20px auto;
    border-radius: 8px;
}
.mkc-error {
    padding: 14px 18px;
    border: 1px solid currentColor;
    border-radius: 6px;
}
.mkc-creator { max-width: 900px; margin: 0 auto; }
.mkc-creator label { display:block; margin-bottom:12px; font-weight:700; }
.mkc-creator textarea { width:100%; min-height:160px; box-sizing:border-box; padding:14px; font:inherit; }
#mkc-create-button { display:block; width:100%; margin-top:20px; padding:16px 20px; font:inherit; font-weight:700; cursor:pointer; }
#mkc-create-button:disabled { opacity:.65; cursor:wait; }
.mkc-note { text-align:center; margin-top:14px; }


/* V0.3.3 – creative waiting animation */
.mkc-working-message {
    min-height: 2.5em;
    transition: opacity .25s ease;
}
.mkc-creative-loader {
    width: 86px;
    height: 42px;
    margin: 0 auto 18px;
    position: relative;
}
.mkc-creative-loader span {
    position: absolute;
    bottom: 0;
    width: 12px;
    border-radius: 999px;
    animation: mkc-bounce 1.2s infinite ease-in-out;
}
.mkc-creative-loader span:nth-child(1) { left: 0; height: 14px; animation-delay: 0s; }
.mkc-creative-loader span:nth-child(2) { left: 23px; height: 26px; animation-delay: .15s; }
.mkc-creative-loader span:nth-child(3) { left: 46px; height: 20px; animation-delay: .3s; }
.mkc-creative-loader span:nth-child(4) { left: 69px; height: 34px; animation-delay: .45s; }
@keyframes mkc-bounce {
    0%, 100% { transform: scaleY(.55); opacity: .55; }
    50% { transform: scaleY(1.1); opacity: 1; }
}
.mkc-next-button {
    display: block;
    width: 100%;
    margin: 24px auto 0;
    padding: 16px 20px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}


/* V0.3.4 – motif validation, sharing and T-shirt choices */
.mkc-action-grid{display:grid;gap:12px;margin:18px 0}
.mkc-action-primary,.mkc-action-secondary,.mkc-share-buttons button,.mkc-color-option,.mkc-size-option{font:inherit;cursor:pointer}
.mkc-action-primary,.mkc-action-secondary{width:100%;padding:15px 18px;font-weight:700}
.mkc-action-primary:disabled{opacity:.45;cursor:not-allowed}
.mkc-like-question{font-weight:700;margin:18px 0 8px}
.mkc-remaining{font-size:.95em;margin:10px 0 22px}
.mkc-share{margin-top:22px;padding-top:18px;border-top:1px solid rgba(0,0,0,.12)}
.mkc-share p{font-size:.82em;font-weight:700}
.mkc-share-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.mkc-share-buttons button{padding:11px 8px;font-size:.82em}
.mkc-shirt-choice h4{margin:26px 0 12px}
.mkc-choice-preview{max-width:420px;width:100%;height:auto;margin:0 auto 8px;display:block}
.mkc-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mkc-color-option{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid rgba(0,0,0,.2);background:#fff;text-align:left}
.mkc-color-option.is-selected{outline:2px solid currentColor}
.mkc-color-swatch{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.2);flex:0 0 auto}
.mkc-size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.mkc-size-option{padding:12px 6px;border:1px solid rgba(0,0,0,.2);background:#fff;font-weight:700}
.mkc-size-option.is-selected{outline:2px solid currentColor}
.mkc-choice-summary{margin:22px 0 12px}
.mkc-cart-note{display:block;margin-top:10px;opacity:.7}
@media (min-width:700px){.mkc-action-grid{grid-template-columns:1fr 1fr}.mkc-color-grid{grid-template-columns:repeat(4,1fr)}}


/* V0.3.5 – layered T-shirt mockup */
.mkc-mockup{
    position:relative;
    width:100%;
    max-width:800px;
    aspect-ratio:1/1;
    margin:0 auto;
    overflow:hidden;
    border-radius:12px;
}
.mkc-mockup-base,
.mkc-mockup-art{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}
.mkc-mockup-art{
    pointer-events:none;
    object-fit:contain;
    padding:0;
    /* 300 x 360 px zone on an 800x800 base, x=250, y=175 */
}
.mkc-mockup-caption{
    text-align:center;
    font-size:.9em;
    opacity:.7;
    margin:8px 0 16px;
}

.mkc-mockup-base.mkc-mockup-load-error{visibility:hidden;}


/* V0.3.11 – force visible text for color/size controls against Kadence theme rules */
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option,
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option span,
.mkc-shirt-choice .mkc-size-grid button.mkc-size-option,
.mkc-shirt-choice .mkc-size-grid button.mkc-size-option:hover,
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option:hover,
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option:focus,
.mkc-shirt-choice .mkc-size-grid button.mkc-size-option:focus {
    color: #1a1a1a !important;
    -webkit-text-fill-color: #1a1a1a !important;
    text-shadow: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: #bdbdbd !important;
}

.mkc-shirt-choice .mkc-color-grid button.mkc-color-option.is-selected,
.mkc-shirt-choice .mkc-size-grid button.mkc-size-option.is-selected,
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option.is-selected:hover,
.mkc-shirt-choice .mkc-size-grid button.mkc-size-option.is-selected:hover {
    color: #1a1a1a !important;
    -webkit-text-fill-color: #1a1a1a !important;
    background-color: #ffffff !important;
    border-color: #1a1a1a !important;
}

.mkc-shirt-choice .mkc-color-grid button.mkc-color-option *,
.mkc-shirt-choice .mkc-size-grid button.mkc-size-option * {
    color: #1a1a1a !important;
    -webkit-text-fill-color: #1a1a1a !important;
    opacity: 1 !important;
}

.mkc-shirt-choice .mkc-color-grid button.mkc-color-option .mkc-color-swatch {
    -webkit-text-fill-color: initial !important;
    color: transparent !important;
}

/* V0.3.12 – restore visible color swatches */
.mkc-shirt-choice .mkc-color-grid .mkc-color-swatch,
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option .mkc-color-swatch {
    display:inline-block!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    border:1px solid #bdbdbd!important;
    box-sizing:border-box!important;
    background-image:none!important;
    opacity:1!important;
    flex:0 0 24px!important;
}
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option[data-color="blanc"] .mkc-color-swatch {
    background-color:#fff!important;
}
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option[data-color="noir"] .mkc-color-swatch {
    background-color:#111!important;
}
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option[data-color="bleu-marine"] .mkc-color-swatch {
    background-color:#1d2b4f!important;
}
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option[data-color="bleu-denim"] .mkc-color-swatch {
    background-color:#476b86!important;
}
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option[data-color="vert-militaire"] .mkc-color-swatch {
    background-color:#56614b!important;
}
.mkc-shirt-choice .mkc-color-grid button.mkc-color-option[data-color="gris-chine"] .mkc-color-swatch {
    background-color:#9a9a9a!important;
}

/* V0.4.2 – cart thumbnail */
.mkc-cart-thumbnail{display:block;width:80px;height:80px;object-fit:contain;}


/* V0.4.5 – creation history */
.mkc-history{
    margin:36px auto 0;
    padding-top:24px;
    border-top:1px solid rgba(0,0,0,.12);
}
.mkc-history-head h3{
    margin:0 0 8px;
}
.mkc-history-head p{
    margin:0 0 16px;
    opacity:.72;
    font-size:.92em;
}
.mkc-history-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.mkc-history-card{
    display:block;
    padding:0;
    border:1px solid rgba(0,0,0,.14);
    background:#fff;
    color:#1a1a1a!important;
    text-align:left;
    cursor:pointer;
    border-radius:10px;
    overflow:hidden;
}
.mkc-history-card img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    background:#fff;
}
.mkc-history-card span{
    display:block;
    padding:9px 10px;
    color:#1a1a1a!important;
    font-size:.86em;
    line-height:1.25;
}
@media (min-width:700px){
    .mkc-history-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}

/* V0.4.6 – multiple T-shirts without redirect */
.mkc-cart-status{margin-top:16px;padding:12px;border-top:1px solid rgba(0,0,0,.12);}
.mkc-cart-status button,.mkc-cart-status a{display:inline-block;margin:8px 6px 0 0;padding:9px 12px;font:inherit;font-weight:700;text-decoration:none;}
.mkc-add-another{background:#fff;border:1px solid #1a1a1a;color:#1a1a1a!important;}
.mkc-view-cart{background:#1a1a1a;color:#fff!important;border:1px solid #1a1a1a;}
.mkc-cart-design-label{display:block;font-size:.78em;opacity:.7;margin-top:3px;}

/* V0.4.7 – result screen */
.mkc-success > img{
    display:block!important;
    width:min(100%, 800px)!important;
    height:auto!important;
    margin:18px auto 22px!important;
}
.mkc-success .mkc-action-grid{
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
}

/* V0.4.9 – cart thumbnails */
.woocommerce-cart-form .mkc-cart-thumbnail,
.woocommerce-mini-cart .mkc-cart-thumbnail{
    display:block!important;
    width:80px!important;
    height:80px!important;
    max-width:80px!important;
    object-fit:contain!important;
}
