@font-face {
  font-family: 'icomoon-wc';
  src:  url('../fonts/icomoon.eot?mh2om6');
  src:  url('../fonts/icomoon.eot?mh2om6#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?mh2om6') format('truetype'),
    url('../fonts/icomoon.woff?mh2om6') format('woff'),
    url('../fonts/icomoon.svg?mh2om6#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon-wc' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-close-outline:before {
  content: "\e901";
}
.icon-images:before {
  content: "\e90e";
}
.icon-cloud-upload:before {
  content: "\e9c3";
}
.icon-upload2:before {
  content: "\e9c6";
}
.icon-upload3:before {
  content: "\e9c8";
}

.wc-dnd-file-upload .remove-file span:after{ display:none!important; }
.wc-dnd-file-upload .remove-file span:before { content: '\00d7' !important; font-family: Arial, sans-serif !important; font-size: 18px !important; font-weight: bold !important; line-height: 1 !important; color: #fff !important; }

/* Delete Status */
.dnd-icon-remove.deleting { outline:none; font-family : inherit !important; font-size:12px; color:#000; font-weight:500; }
.dnd-icon-remove.deleting:before {content : '';}

.wc-dnd-file-upload { 
    padding: 24px; 
    position: relative; 
    background: #fcfcfc;
    border: 1px solid #eeeeee;
    border-radius: 16px;
    margin: 20px 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}
.wc-dnd-file-upload label { 
    margin-bottom: 12px; 
    display: block; 
    font-weight: 700;
    font-size: 15px;
    color: #111;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wc-drag-n-drop-file.d-none {
	display:none;
	opacity:0;
	visibility:hidden;
	position:absolute;
	top:0;
}

/* Upload Status */
.wc-dnd-file-upload .dnd-upload-status {
	display:flex;
	padding:4px 0;
	align-items:center;
	position:relative;
}

/* Progress bar - Image */
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-image {
	width:40px;
	height:40px;
	border:1px solid #a5a5a5;
	text-align:center;
	border-radius:100%;
	position:relative;
}
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-image.has-bg {
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
	border:0;
	transition: transform 0.3s ease;
	max-width:40px;
	width:100%;
}
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-image.has-bg:hover {
	transform: scale(1.5);
}
.wc-dnd-file-upload  .dnd-upload-status .dnd-upload-image span {
	font-size:16px;
	color:#222;
	position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    left: 50%;
}

.wc-dnd-file-upload  .codedropz--results .dnd-upload-status .dnd-upload-image.no-thumbnail span:not(.icon-close-outline){
    display:none;
}

.xdnd-upload-status .dnd-upload-image.no-bg .icon-images { display:none; }
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-image.has-bg > span:not(.icon-close-outline) { opacity:0; z-index:-200; }

.wc-dnd-file-upload .dnd-upload-status .dnd-upload-image.no-bg img {
    width: 18px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image {
    width:100%;
}

.wc-dnd-file-upload .codedropz--results .dnd-upload-status .dnd-upload-image { overflow:visible; }
.wc-dnd-file-upload .codedropz--results .dnd-upload-status .dnd-upload-image.no-bg:not(.no-thumbnail) { border:0; transition:scale 0.3s; }
.wc-dnd-file-upload .codedropz--results .dnd-upload-status .dnd-upload-image.no-bg:hover:not(.no-thumbnail) { transform:scale(1.3); }

.wc-dnd-file-upload .codedropz--results .dnd-upload-status .dnd-upload-image.no-bg .preview {
    max-width: none;
    width: auto;
    height: 60px;
    background-size:cover;
    background-position:center;
    border-radius: 8px;
}

/* Progress bar - Image Details ( Name and Size ) */
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-details {
	padding-left:10px;
	width: calc(100% - 40px);
}
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-details .name {color:#016d98; padding:0 0 4px; padding-right:25px; display:flex; }
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-details .name span { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; position: relative; padding-right:10px; }
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-details .name em {color:#444242;	font-weight:700; }

/* Remove Upload File */
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-image .remove-file {
	position:absolute;
	right:-8px;
	top:-8px;
	text-decoration:none;
	box-shadow:none;
	outline:none;
}

.wc-dnd-file-upload .dnd-upload-status .dnd-upload-details span.has-error { color:#f50505; }

/* Progress Loading */
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-details .dnd-progress-bar {
	display: block;
    border-radius: 5px;
    overflow: hidden;
    background: #565555;
    height: 14px;
}
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-details .dnd-progress-bar span {
    background: #4CAF50;
    display: block;
    font-size: 11px;
    text-align: right;
    color: #fff;
    height: 100%;
	width:0;
	line-height:13px;
}
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-details .dnd-progress-bar span.complete { width:100%!important; padding-right:5px; }
.wc-dnd-file-upload .dnd-upload-counter { position:absolute; right:5px; bottom:3px; font-size:12px; }

/* CodeDropz Upload Plugin */
.codedropz-upload-handler {
	border:2px dashed #e0e0e0;
	border-radius:12px;
	margin-bottom:20px;
	position:relative;
    background: #ffffff;
    transition: all 0.3s ease;
}
.codedropz-upload-handler:hover {
    border-color: #111;
    background: #f9f9f9;
}
.codedropz-upload-container {
	padding:25px 20px;
}

.wc-dnd-file-upload .codedropz-upload-inner {
	overflow:hidden;
	width:100%;
	white-space: nowrap;
	text-align:center;
	text-overflow: ellipsis;
	font-weight:inherit;
}
.wc-dnd-file-upload .codedropz-upload-inner a.cd-upload-btn {
	text-decoration:none;
	box-shadow:none;
	padding:0 10px;
	color:#fff;
	background-color:#6d6d6d;
	border-radius:3px;
}
.wc-dnd-file-upload .codedropz-upload-inner .codedropz-label {
	margin:5px 0;
	font-size:18px;
	line-height:36px;
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
    flex-wrap:wrap;
}
.wc-dnd-file-upload .codedropz-upload-inner .codedropz-label span.cd-separator {
	padding:0 10px;
}
.wc-dnd-file-upload .codedropz-upload-inner .codedropz-label span.cd-icon {
	font-size:32px;
	padding-right:15px;
    color: #111;
}

/* Add border on dragenter, drag etc */
.wc-dnd-file-upload .codedropz-dragover {
	border-color:#6b6a6a;
}

.wc-dnd-file-upload .codedropz-upload-wrapper span.has-error-msg {
	display:inline-block;
	color:#ff0000;
	padding:5px 0;
	font-style:italic;
}

/* CodeDropz v2.0 - Preview */
.wc-dnd-file-upload .codedropz--preview { 
    display:flex; 
    flex-wrap:wrap; 
    gap: 15px;
    margin-top: 10px;
}
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-details .name em,
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-details .dnd-progress-bar { display:none; }
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status { 
    display:block; 
    width:calc( 25% - 12px ); 
    position: relative;
    overflow: visible !important;
}

.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image span.cd-ext {
	opacity: 1; z-index: 1; color: #fff; background: #FF630B; width: 60px; line-height: 16px; top:80%; transform:translate(-50%, -80%); font-size: 12px; text-transform: uppercase;
}
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image.has-bg { border:solid 1px transparent; width:100%; height:auto; max-width:100%; border-radius:0; }
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image.has-bg img { border-radius:3px; }
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image.has-bg:hover { transform:none; }

.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image.unsupported-image { border:1px solid #dedede; }
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image.unsupported-image img { max-height:75%; position:absolute; top:50%; left:50%; transform: translate(-50%, -50%); }

.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-details { width:100%; padding:2px 0; }
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-details .name { padding:0; font-size:14px; }
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-details .name span { padding-right:0; }

.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image .remove-file { 
    color:#fff; 
    top: -10px; 
    right: -10px; 
    z-index: 100;
    opacity: 1;
    transition: all 0.3s ease;
}
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status:hover .dnd-upload-image .remove-file {
    opacity: 1;
}
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image .remove-file.deleting { right:auto; transform:translate(-40%, -50%); top:40%; left:50%; background: rgba(0,0,0,0.7); padding: 0 4px; font-size: 13px; }
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image .remove-file span { 
    background-color:#111!important; 
    border-radius:50%!important; 
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    border: 2px solid #fff;
}
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image .remove-file span:hover { background-color:#ff4d4d!important; transform: scale(1.1); }

.wc-dnd-file-upload .codedropz--preview .dnd-upload-image.has-bg .preview { 
    background-repeat:no-repeat; 
    background-size:cover !important; 
    background-position:center; 
    width:100%; 
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius:0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status:hover .preview {
    transform: translateY(-5px);
}

/* Cart Files */
.dndmfu_wc_files {
	margin:0 -5px;
}
.dndmfu_wc_files a {
	list-style:none;
	display:inline-block;
	margin: 5px;
    text-decoration: none;

}
.dndmfu_wc_files a img{
	margin-left:0 !important;
	max-width:40px;
}
.dndmfu_wc_files a.application-type img {
    max-height:40px;
    width:auto;
}

.woocommerce-table--order-details ul.wc-item-meta .dndmfu-wc-pdf-details,
.woocommerce-table--order-details ul.wc-item-meta .dndmfu_wc_files {
	display:block;
}

.application-type.pdf-type {
	display: block;
	margin-bottom: 10px;
}

.application-type.pdf-type span.pdf-details {
	display: block;
	font-style: italic;
	font-size: small;
}

.application-type.pdf-type + span.separator {
	display: none;
}

/* Order - Thank You Page */
.dndmfu_wc_file_list {
    margin:0;
    padding:0;
    margin-left:-10px;
    margin-right:-10px;
    display:flex;
    align-items:flex-start;
    /*justify-content:space-between;*/
    flex-wrap:wrap;
    padding:10px;
}
.dndmfu_wc_file_list li{
    display:inline-block;
    padding:0 10px;
    max-width:16.6%;
    width:100%;
    flex:0 0 16.6%;
}
.dndmfu_wc_file_list li img { margin:0 auto; display:block; }
.dndmfu_wc_file_list li a { cursor:pointer; text-align:center; display:block; text-decoration: none; }
.dndmfu_wc_file_list li a div { line-height: 15px; padding:10px 0; font-size:small; word-wrap: break-word; }

/* Upload Quantity */
.wc-dnd-upload-qty{
    display: flex;
    align-items: center;
    justify-content: space-around;
	padding-top: 5px;
}
.wc-dnd-upload-qty label{ margin:0; padding:0; font-size: 14px; }
.wc-dnd-upload-qty input.dnd-upload-qty{
    width:50%;
    margin-left: auto;
}

.wc-dnd-upload-qty.no-thumbnail { justify-content: start; }
.wc-dnd-upload-qty.no-thumbnail input.dnd-upload-qty {
	margin-left: 10px;
	width: 45px;
	padding: 0 3px;
}

.wc-dnd-upload-qty.no-thumbnail label {
	font-size: 12px;
}

.dndmfu_wc_file_qty{
    display: block;
    font-size: small;
    font-style: italic;
}

.dnd-edit-cart { display: block; padding: 3px 0; }

/* Image Crop - Styles */
.codedropz-crop {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
	transition: all 0.3s ease;
    border-radius: 0;
    opacity: 0;
    background: rgba(0, 0, 0, 0);
    z-index: 5;
}

.codedropz-crop a {
	display: block;
	color: #fff;
	text-decoration: none;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 8px 18px;
    border-radius: 25px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid rgba(255, 255, 255, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.codedropz-crop a:hover {
	background: #fff;
    color: #000;
    transform: scale(1.05);
}

.dnd-upload-status:hover .codedropz-crop {
	opacity: 1;
    background: rgba(0, 0, 0, 0.4);
}

/* Image Cropper.js Popup */
.dnd-wc-cropper-popup {
	opacity: 0;
  	visibility: hidden;
  	transition: opacity 0.3s ease, visibility 0.3s ease;
	position: fixed;
	z-index: 9999;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0, 0, 0, 0.6);
	justify-content: center;
	align-items: center;
	display: flex;
    z-index: 200000 !important;
}

.dnd-wc-cropper-popup.active {
	opacity: 1;
	visibility: visible;
}

.dnd-wc-popup-inner {
	background: #fff;
	padding: 24px;
	max-width: 95%;
	width: 650px;
	border-radius: 24px;
	position: relative;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    animation: dndFadeUp 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

@keyframes dndFadeUp {
    from { opacity: 0; transform: translateY(20px) scale(0.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.dnd-wc-cropper-container {
    border-radius: 8px;
    overflow: hidden;
    background: #000;
}

.dnd-wc-cropper-container img {
	max-width: 100%;
	display: block;
}

.dnd-wc-popup-actions {
	display: flex;
	justify-content: space-between;
    gap: 12px;
	margin-top: 20px;
}

#dnd-wc-save-crop,
#dnd-wc-cancel-crop {
	padding: 14px 28px;
	border-radius: 14px;
	cursor: pointer;
	font-size: 15px;
    font-weight: 700;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	text-decoration: none!important;
    text-align: center;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    letter-spacing: 0.3px;
}

#dnd-wc-save-crop {
    background: #000;
    color: #fff;
    border: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

#dnd-wc-cancel-crop {
    background: #f3f4f6;
    color: #4b5563;
    border: none;
}

#dnd-wc-save-crop:hover {
	background: #222;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}

#dnd-wc-cancel-crop:hover {
    background: #e5e7eb;
    color: #1f2937;
    transform: translateY(-2px);
}

#dnd-wc-save-crop.loading {
	position: relative;
	padding-left: 32px;
}

#dnd-wc-spinner {
	background: url('../images/spinner.svg') no-repeat;
	width: 20px;
    height: 20px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
	display: none;
    filter: invert(1);
}

#dnd-wc-save-crop.loading #dnd-wc-spinner {
	display: block;
}

@media screen and (max-width: 767px) {
	.dnd-upload-status .dnd-upload-details .name em { font-weight:normal; }
	.dnd-upload-status .dnd-upload-details .name { padding-right:60px; }
	.codedropz-upload-inner .codedropz-label { font-size:16px; min-height: 44px; }
    .dndmfu_wc_file_list li { margin-bottom:20px; max-width:50%; flex:0 0 50%;  }
}

@media screen and (max-width: 480px) {
	.codedropz-upload-inner .codedropz-label { font-size:15px; }
	.codedropz-label .text { display: block; width: 100%; margin-top: 10px; font-weight: 500; font-size: 14px; }
	.codedropz-label .cd-separator,
	.codedropz-label .cd-icon { display:none; }
}
/* No crop thumbnails - keep full image inside the square */
.dnd-upload-image.has-bg .preview{
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
/* Consolidated Mobile & Responsive Logic */
@media screen and (max-width: 1024px) {
    .wc-dnd-file-upload {
        padding: 16px;
        margin: 15px 0;
        border-radius: 12px;
        background: #fff;
        border: 1px solid #e0e0e0;
    }
    
    .codedropz-upload-container {
        padding: 24px 15px;
    }

    /* THE GRID - 4 columns for better efficiency on mobile */
    .codedropz-upload-wrapper .codedropz--preview {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 8px !important;
        padding: 10px !important;
        margin-top: 15px !important;
        overflow: visible !important;
    }

    .wc-dnd-file-upload .dnd-upload-status {
        width: auto !important;
        margin: 0 !important;
        flex-direction: column !important;
        position: relative !important;
        display: flex !important;
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    /* THUMBNAIL BOX - slightly smaller radius for smaller box */
    .wc-dnd-file-upload .dnd-upload-status .dnd-upload-image {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
        margin: 0 !important;
        border-radius: 6px !important;
        background-color: #f0f0f0 !important;
        border: 1px solid #efefef !important;
        overflow: visible !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.06) !important;
    }

    .wc-dnd-file-upload .dnd-upload-status .dnd-upload-image.has-bg .preview {
        border-radius: 0 !important;
        background-size: cover !important;
    }

    /* DETAILS BELOW - hide names on mobile for cleaner look */
    .wc-dnd-file-upload .dnd-upload-status .dnd-upload-details {
        display: none !important;
    }

    /* QTY INPUT */
    .wc-dnd-file-upload .dnd-upload-status .wc-dnd-upload-qty {
        margin-top: 6px !important;
        background: #fcfcfc !important;
        padding: 6px !important;
        border-radius: 8px !important;
        flex-direction: column !important;
        gap: 4px !important;
        border: 1px solid #eee !important;
    }
    
    .wc-dnd-file-upload .dnd-upload-status .wc-dnd-upload-qty label {
        font-size: 10px !important;
        text-transform: uppercase;
        color: #aaa;
        letter-spacing: 0.5px;
    }

    .wc-dnd-file-upload .dnd-upload-status .wc-dnd-upload-qty input {
        width: 100% !important;
        height: 28px !important;
        font-size: 12px !important;
        text-align: center !important;
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 5px;
        padding: 0 !important;
        margin: 0 !important;
        color: #111;
        font-weight: 700;
    }

    /* CROP BUTTON OVERLAY */
    .codedropz-crop {
        bottom: 0 !important;
        top: auto !important;
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
        background: transparent !important;
        display: block !important;
    }

    .codedropz-crop a {
        background: rgba(0,0,0,0.6) !important;
        border-radius: 0 !important;
        padding: 3px 0 !important;
        font-size: 8px !important;
        width: 100% !important;
        text-align: center;
        border: 0 !important;
        box-shadow: none !important;
        font-weight: 700 !important;
        text-transform: uppercase;
    }

    /* REMOVE BUTTON - LARGE TOUCH AREA (44x44) but small visual dot (24x24) */
    .wc-dnd-file-upload .dnd-upload-status .dnd-upload-image .remove-file {
        position: absolute !important;
        top: 5px !important; 
        right: 5px !important;
        width: 44px !important; 
        height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 9999 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        text-decoration: none !important;
        cursor: pointer !important;
    }

    /* Hide long 'Deleting' text on mobile to avoid UI overlap */
    .wc-dnd-file-upload .dnd-upload-status .remove-file.deleting {
        font-size: 0 !important;
        color: transparent !important;
    }

    .wc-dnd-file-upload .dnd-upload-status .remove-file:active {
        transform: scale(0.9);
        background: #cc2d24 !important;
    }

    .wc-dnd-file-upload .dnd-upload-status .remove-file span {
        pointer-events: none !important;
        width: 24px !important;
        height: 24px !important;
        background: #ff3b30 !important;
        border-radius: 50% !important;
        border: 2px solid #fff !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: all 0.2s ease;
        opacity: 1 !important;
        visibility: visible !important;
        z-index: 9999 !important;
    }

    .wc-dnd-file-upload .dnd-upload-status .remove-file.deleting span {
        background: #999 !important;
        opacity: 0.6;
    }

    .wc-dnd-file-upload .dnd-upload-status .remove-file span:before {
        content: '\00d7' !important; /* Multiplication sign */
        font-family: Arial, sans-serif !important;
        font-size: 20px !important;
        font-weight: bold !important;
        color: #fff !important;
        line-height: 1 !important;
        display: block !important;
        margin-top: -2px; /* Visual centering tweak */
    }

    /* PROGRESS BAR HIDDEN ON COMPLETED */
    .dnd-progress-bar { display: none !important; }

    /* CROPPER MODAL MOBILE OVERHAUL */
    .dnd-wc-popup-inner {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        padding: 15px !important;
        border-radius: 0 !important;
        display: flex;
        flex-direction: column;
        top: 0 !important;
        left: 0 !important;
        position: fixed !important;
    }

    .dnd-wc-cropper-container {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #000;
        margin: 10px 0;
        border-radius: 12px;
        overflow: hidden;
    }

    .dnd-wc-popup-actions {
        margin-top: 20px;
        padding-bottom: env(safe-area-inset-bottom, 10px);
    }

    #dnd-wc-save-crop, #dnd-wc-cancel-crop {
        padding: 16px !important;
        font-size: 16px !important;
        border-radius: 12px !important;
    }
}


/* Quality Indicator Styles */
.dnd-wc-cropper-header {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    padding-bottom: 20px;
    text-align: center;
}
.dnd-wc-detected-size {
    font-size: 15px;
    color: #1a1a1a;
    font-weight: 700;
    letter-spacing: -0.2px;
}
.dnd-wc-quality-indicator {
    font-weight: 800;
    padding: 8px 16px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 auto;
    transition: all 0.3s ease;
}
.dnd-q-good { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; box-shadow: 0 2px 8px rgba(22, 101, 52, 0.1); }
.dnd-q-okay { background: #fef9c3; color: #854d0e; border: 1px solid #fef08a; box-shadow: 0 2px 8px rgba(133, 77, 14, 0.1); }
.dnd-q-bad  { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; box-shadow: 0 2px 8px rgba(153, 27, 27, 0.1); }

/* Dark overlay for fixed cropper mode ONLY */
#dnd-wc-cropper-modal.dnd-fixed-cropper-mode .cropper-modal {
    opacity: 0.45 !important;
    background-color: #000 !important;
}
#dnd-wc-cropper-modal .cropper-modal {
    opacity: 0.35 !important;
    background-color: #000 !important;
}

/* Premium White Crop Frame for Fixed Mode */
#dnd-wc-cropper-modal.dnd-fixed-cropper-mode .cropper-view-box {
    outline: 4px solid #fff !important;
    box-shadow: 0 0 0 5000px rgba(0, 0, 0, 0.38); /* Semi-transparent surrounding */
    border-radius: 2px;
}

/* Hide handles/lines in fixed mode for cleaner look */
#dnd-wc-cropper-modal.dnd-fixed-cropper-mode .cropper-line,
#dnd-wc-cropper-modal.dnd-fixed-cropper-mode .cropper-point,
#dnd-wc-cropper-modal.dnd-fixed-cropper-mode .cropper-center,
#dnd-wc-cropper-modal.dnd-fixed-cropper-mode .cropper-dashed {
    display: none !important;
}

#dnd-wc-cropper-modal.dnd-fixed-cropper-mode .cropper-crop-box {
    cursor: grab;
}

#dnd-wc-cropper-modal.dnd-fixed-cropper-mode .cropper-crop-box:active {
    cursor: grabbing;
}

/* Recommended sizes display style */
.dnd-wc-recommendations { 
    margin-top: 15px;
    animation: dndFadeUp 0.4s ease-out;
}
.dnd-wc-recommendations-title {
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.dnd-wc-badges-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}
.dnd-wc-size-badge {
    background: #ffffff;
    color: #111;
    padding: 6px 16px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid #e0e0e0;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}
.dnd-wc-size-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border-color: #111;
    background: #111;
    color: #fff;
}

@keyframes dndFadeUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Collage Maker Styles */
.dnd-wc-collage-toggle-container {
    margin: 20px 0;
    text-align: center;
}
.dnd-wc-collage-btn {
    background: #FF630B;
    color: #fff;
    padding: 12px 24px;
    border-radius: 30px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none !important;
    display: inline-block;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 99, 11, 0.3);
    max-width: 100%;
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .dnd-wc-collage-btn {
        display: block;
        width: calc(100% - 10px);
        margin: 10px 5px !important;
        font-size: 13px;
        padding: 10px 5px;
        white-space: normal;
        text-align: center;
    }
}
.dnd-wc-collage-btn:hover {
    background: #e5590a;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 99, 11, 0.4);
    color: #fff;
}

#dnd-wc-collage-modal {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.9);
    z-index: 200000 !important;
    display: none;
    align-items: center;
    justify-content: center;
}
#dnd-wc-collage-modal.active {
    display: flex;
}
.dnd-wc-collage-inner {
    background: #f4f4f4;
    width: 95%;
    height: 95%;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.dnd-wc-collage-header {
    background: #fff;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ddd;
}
.dnd-wc-collage-header h3 { margin: 0; font-size: 18px; }

.dnd-wc-collage-body {
    flex: 1;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ddd;
}
.dnd-wc-canvas-container {
    box-shadow: 0 10px 40px rgba(0,0,0,0.3);
    background: #fff;
}

.dnd-wc-collage-footer {
    background: #fff;
    padding: 15px 20px;
    display: flex;
    justify-content: center;
    gap: 15px;
    border-top: 1px solid #ddd;
}
.ui-collage-btn {
    padding: 10px 20px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    cursor: pointer;
    border: 1px solid #ddd !important;
    background: #fff !important;
    color: #333 !important;
    font-size: 14px !important;
}
.dnd-collage-save-btn {
    background: #4CAF50 !important;
    color: #fff !important;
    border-color: #4CAF50 !important;
}
.dnd-collage-cancel-btn {
    background: #f44336 !important;
    color: #fff !important;
    border-color: #f44336 !important;
}

/* Collage Save Overlay */
#dnd-collage-save-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.82);
    z-index: 300000;
    align-items: center;
    justify-content: center;
}
#dnd-collage-save-overlay.visible {
    display: flex;
}
.dnd-collage-save-content {
    text-align: center;
    color: #fff;
    padding: 40px;
    border-radius: 16px;
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.15);
    min-width: 280px;
}
.dnd-collage-save-spinner {
    width: 52px;
    height: 52px;
    border: 4px solid rgba(255,255,255,0.2);
    border-top-color: #4CAF50;
    border-radius: 50%;
    animation: dnd-collage-spin 0.8s linear infinite;
    margin: 0 auto 20px;
}
@keyframes dnd-collage-spin {
    to { transform: rotate(360deg); }
}
.dnd-collage-save-msg {
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 18px;
    letter-spacing: 0.3px;
}
.dnd-collage-save-progress-wrap {
    width: 220px;
    height: 7px;
    background: rgba(255,255,255,0.15);
    border-radius: 4px;
    overflow: hidden;
    margin: 0 auto 12px;
}
.dnd-collage-save-progress-bar {
    height: 100%;
    background: #4CAF50;
    border-radius: 4px;
    width: 0%;
    transition: width 0.5s ease;
}
.dnd-collage-save-sub {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    margin-top: 4px;
}

.dnd-wc-collage-info {
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(30, 30, 30, 0.85);
    color: #fff;
    padding: 10px 20px;
    border-radius: 30px;
    font-size: 13.5px;
    z-index: 100;
    text-align: center;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    max-width: 90%;
    pointer-events: none;
    line-height: 1.4;
}

@media screen and (max-width: 768px) {
    .dnd-wc-collage-info {
        font-size: 11px;
        padding: 8px 12px;
        top: 10px;
        border-radius: 12px;
    }

    #dnd-wc-collage-modal .dnd-wc-collage-inner {
        width: 100%;
        height: 100%;
        border-radius: 0;
    }

    .dnd-wc-collage-header {
        padding: 12px 15px;
        background: #fff;
        border-bottom: 1px solid #ddd;
    }

    .dnd-wc-collage-header h3 {
        font-size: 16px !important;
        font-weight: bold;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 80%;
        margin: 0 !important;
    }
    
    .dnd-collage-cancel-btn {
        padding: 8px 15px !important;
        font-size: 14px !important;
        background: #f44336 !important;
        color: #fff !important;
        border: none !important;
    }

    .dnd-wc-collage-footer {
        padding: 12px 10px;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center;
        background: #f9f9f9;
        border-top: 1px solid #ddd;
    }
    
    .dnd-wc-collage-footer .footer-left,
    .dnd-wc-collage-footer .footer-right {
        display: contents; /* Flat flex layout for child buttons */
    }

    .ui-collage-btn {
        flex: 1 1 calc(50% - 10px);
        padding: 14px 8px !important;
        font-size: 13px !important;
        text-align: center;
        white-space: nowrap;
        min-width: 120px;
        background: #fff !important;
        border: 1px solid #ccc !important;
        color: #333 !important;
        border-radius: 8px !important;
        box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    }
    
    .dnd-wc-collage-footer .dnd-collage-save-btn {
        flex: 1 1 100%;
        order: -1; /* Posun na začiatok v mobile */
        font-weight: bold !important;
        background: #4CAF50 !important;
        color: #fff !important;
        border: none !important;
        font-size: 15px !important;
    }
    
    .dnd-wc-collage-footer .dnd-collage-cancel-btn {
        background: #f44336 !important;
        color: #fff !important;
        border: none !important;
    }

    .dnd-wc-collage-body {
        padding: 5px;
        background: #eee;
    }
}

/* --- iOS fix: show overlay BEFORE heavy preview generation by delaying the original change --- */
/* (Styles moved) */

/* Removing checkerboard background */
.cropper-bg { background-image: none !important; background-color: #000 !important; }

/* Vivid crop box border */
.cropper-view-box { outline: 2px solid #fff !important; outline-color: rgba(255, 255, 255, 0.95) !important; }
.cropper-line, .cropper-point { background-color: #fff !important; opacity: 1 !important; }


.dnd-wc-orientation-switch {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 15px;
}

.dnd-orientation-btn {
    padding: 10px 16px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s ease;
}

.dnd-orientation-btn.active {
    background: #111;
    color: #fff;
    border-color: #111;
}

.dnd-wc-customer-controls {
    border-top: 1px solid #eee;
    padding-top: 15px;
    margin-top: 5px;
}

.dnd-wc-control-label {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
    display: block;
    color: #444;
}

.dnd-filter-group {
    display: flex;
    gap: 8px;
    justify-content: center;
}

.dnd-filter-btn {
    padding: 8px 12px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 6px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.dnd-filter-btn.active {
    border-color: #111;
    background: #111;
    color: #fff;
}

@keyframes dndFadeUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Hide WooCommerce quantity selector (we control qty via uploads) */
form.cart .quantity:not(.dnd-allow) {
    display: none !important;
}

/* HIGHEST SPECIFICITY OVERRIDE FOR COLLAGE PREVIEW (Mobile & Desktop) */
.wc-dnd-file-upload .codedropz--results .dnd-upload-status.is-collage-item,
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status.is-collage-item {
    grid-column: 1 / -1 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 20px 0 !important;
    flex: 0 0 100% !important;
    float: none !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 12px !important;
    padding: 10px !important;
    box-shadow: 0 5px 25px rgba(0,0,0,0.06) !important;
    box-sizing: border-box !important;
}

.wc-dnd-file-upload .dnd-upload-status.is-collage-item .dnd-upload-image {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

.wc-dnd-file-upload .dnd-upload-status.is-collage-item .dnd-upload-image .preview {
    width: 100% !important;
    height: auto !important;
    min-height: 250px !important;
    background-size: contain !important;
    background-position: center !important;
    display: block !important;
}

.wc-dnd-file-upload .dnd-upload-status.is-collage-item .dnd-upload-details {
    display: block !important;
    opacity: 1 !important;
    width: 100% !important;
    padding: 10px 0 0 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.wc-dnd-file-upload .dnd-upload-status.is-collage-item .dnd-upload-details .name {
    width: 100% !important;
    padding: 0 !important;
    font-size: 14px !important;
    color: #111 !important;
    display: block !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
    line-height: 1.4 !important;
}

/* REMOVE duplicate mobile design at end if it exists */
/* Consolidated Mobile Remove Button Fix - Use the one above instead of repeating */

/* Orientation & Filter Controls */
.dnd-wc-orientation-switch, .dnd-filter-group {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-bottom: 20px;
    background: #f3f4f6;
    padding: 6px;
    border-radius: 14px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.dnd-orientation-btn, .dnd-filter-btn {
    padding: 8px 18px;
    border-radius: 10px;
    border: none;
    background: transparent;
    color: #4b5563;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
}

.dnd-orientation-btn.active, .dnd-filter-btn.active {
    background: #000;
    color: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.dnd-wc-control-label {
    display: block;
    text-align: center;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
    color: #9ca3af;
    margin-bottom: 8px;
}

.dnd-wc-customer-controls {
    margin-top: 20px;
}

/* Specific button styling for Save to look even better */
#dnd-wc-save-crop {
    background: linear-gradient(135deg, #000 0%, #333 100%) !important;
}

#dnd-wc-save-crop:hover {
    background: linear-gradient(135deg, #222 0%, #444 100%) !important;
}

/* ===== TOAST NOTIFICATIONS ===== */
.dnd-toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #333;
    color: #fff;
    padding: 13px 22px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 999999;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    box-shadow: 0 6px 24px rgba(0,0,0,0.25);
    pointer-events: none;
    max-width: 90vw;
    text-align: center;
}
.dnd-toast.dnd-toast-show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.dnd-toast.dnd-toast-success { background: #4CAF50; }
.dnd-toast.dnd-toast-error   { background: #f44336; }
.dnd-toast.dnd-toast-info    { background: #333; }
.dnd-toast-icon {
    font-size: 16px;
    font-weight: 700;
    flex-shrink: 0;
}

/* ===== DELETE BUTTON — RED HOVER (desktop) ===== */
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-image .remove-file span:hover,
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status .dnd-upload-image .remove-file:hover span {
    background-color: #ff3b30 !important;
    transform: scale(1.15);
    transition: background-color 0.2s ease, transform 0.2s ease;
}
.wc-dnd-file-upload .dnd-upload-status .dnd-upload-image .remove-file span {
    transition: background-color 0.2s ease, transform 0.2s ease;
}

/* ===== UPLOAD COUNTER ANIMATION ===== */
.dnd-upload-counter span {
    display: inline-block;
    transition: transform 0.2s ease;
}
.dnd-upload-counter span.dnd-counter-bump {
    animation: dnd-counter-bump 0.3s ease;
}
@keyframes dnd-counter-bump {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.5); }
    100% { transform: scale(1); }
}

/* Single upload: full-width when only one item in preview (no collage) */
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status:only-child {
    width: 100% !important;
}
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status:only-child .dnd-upload-image.has-bg {
    max-width: 100% !important;
    width: 100% !important;
    aspect-ratio: 4 / 3;
    height: auto !important;
    display: block !important;
    border-radius: 4px !important;
}
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status:only-child .dnd-upload-image.has-bg .preview {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    display: block !important;
    background-size: cover !important;
    border-radius: 4px !important;
}
/* Delete button inside image for full-width items */
.wc-dnd-file-upload .codedropz--preview .dnd-upload-status:only-child .dnd-upload-image .remove-file,
.wc-dnd-file-upload .codedropz--preview .is-collage-item .dnd-upload-image .remove-file {
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
}

/* Full-width for collage item */
.wc-dnd-file-upload .codedropz--preview .is-collage-item {
    width: 100% !important;
}

/* Undo / Redo buttons */
.dnd-collage-undo-btn,
.dnd-collage-redo-btn {
    padding: 7px 11px !important;
    font-size: 17px !important;
    line-height: 1 !important;
    min-width: 38px;
}
.dnd-collage-undo-btn:disabled,
.dnd-collage-redo-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed !important;
}

/* Collage background color buttons */
.dnd-collage-bg-btn {
    padding: 7px 10px !important;
    font-size: 16px !important;
    line-height: 1 !important;
    opacity: 0.5;
    transition: opacity 0.2s, box-shadow 0.2s !important;
}
.dnd-collage-bg-btn.active {
    opacity: 1;
    box-shadow: 0 0 0 2px #ff5722 !important;
}
.dnd-collage-bg-btn:hover { opacity: 0.85; }

/* Thumbnail cursor pointer */
.dnd-upload-image.has-bg .preview { cursor: zoom-in; }

/* Lightbox overlay */
#dnd-lightbox-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s;
}
#dnd-lightbox-overlay.dnd-lightbox-visible {
    background: rgba(0,0,0,0.88);
}
#dnd-lightbox-inner {
    position: relative;
    max-width: 92vw;
    max-height: 92vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
#dnd-lightbox-inner img {
    max-width: 90vw;
    max-height: 88vh;
    border-radius: 4px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.6);
    display: block;
    opacity: 0;
    transition: opacity 0.3s;
}
#dnd-lightbox-overlay.dnd-lightbox-visible #dnd-lightbox-inner img { opacity: 1; }
#dnd-lightbox-close {
    position: absolute;
    top: -14px;
    right: -14px;
    width: 32px;
    height: 32px;
    border-radius: 50% !important;
    border: none !important;
    background: #fff !important;
    color: #333 !important;
    font-size: 16px !important;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.35);
    line-height: 1 !important;
    padding: 0 !important;
}

/* ── Onboarding Tour ────────────────────────────────────────────────────── */
.dnd-tour-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.58);
    z-index: 1000010;
    pointer-events: all;
}
.dnd-tour-highlight {
    position: fixed;
    z-index: 1000011;
    border-radius: 6px;
    box-shadow: 0 0 0 4px #ff5722, 0 0 0 8px rgba(255,87,34,0.25);
    pointer-events: none;
    animation: dnd-tour-pulse 1.8s ease-in-out infinite;
}
@keyframes dnd-tour-pulse {
    0%, 100% { box-shadow: 0 0 0 4px #ff5722, 0 0 0 8px rgba(255,87,34,0.25); }
    50%       { box-shadow: 0 0 0 4px #ff5722, 0 0 0 14px rgba(255,87,34,0.12); }
}
.dnd-tour-tooltip {
    position: fixed;
    z-index: 1000012;
    background: #fff;
    border-radius: 10px;
    padding: 16px 18px 14px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.22);
    font-family: inherit;
}
.dnd-tour-tooltip::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border: 8px solid transparent;
}
.dnd-tour-bottom::before {
    bottom: 100%;
    border-bottom-color: #fff;
}
.dnd-tour-top::before {
    top: 100%;
    border-top-color: #fff;
}
.dnd-tour-dots {
    display: flex;
    gap: 5px;
    margin-bottom: 10px;
}
.dnd-tour-dots span {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #ddd;
    display: inline-block;
}
.dnd-tour-dots span.active { background: #ff5722; }
.dnd-tour-title {
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 6px;
    color: #111;
}
.dnd-tour-text {
    font-size: 13px;
    line-height: 1.5;
    color: #444;
    margin-bottom: 14px;
}
.dnd-tour-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.dnd-tour-next {
    background: #ff5722 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 7px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}
.dnd-tour-skip {
    background: none !important;
    border: none !important;
    color: #999 !important;
    font-size: 12px !important;
    cursor: pointer !important;
    padding: 0 !important;
    text-decoration: underline !important;
}

/* Size badge loading overlay — fixed full-screen (survives cropper close/reopen) */
#dnd-size-switch-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dnd-size-loading-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.dnd-size-loading-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid #eee;
    border-top-color: #111;
    border-radius: 50%;
    animation: dndSizeSpinner 0.7s linear infinite;
}
@keyframes dndSizeSpinner {
    to { transform: rotate(360deg); }
}
.dnd-size-loading-text {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}
