/* ===== Bulk Image Uploader - product page form ===== */
#custom-bulkimage-section{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 15px !important;
    padding:16px 18px 20px !important;
    background:#fff !important;
    border:1px solid #eaeaea !important;
    border-radius:16px !important;
    box-shadow:0 2px 6px rgba(0,0,0,0.03);
}
#custom-bulkimage-section *{box-sizing:border-box;}

.rrp-header{margin:0 0 10px !important;}
.rrp-header h3{font-size:15px !important;font-weight:800 !important;margin:0 !important;color:#111 !important;line-height:1.3 !important;}
.rrp-header p{font-size:11px !important;color:#888 !important;margin:1px 0 0 !important;line-height:1.3 !important;}

.rrp-upload-box{
    position:relative;
    border:1.6px dashed #ccc !important;border-radius:10px !important;background:#fafbfc !important;
    display:flex !important;flex-direction:column;align-items:stretch;justify-content:center;
    cursor:pointer;transition:all .2s ease;margin:0 0 10px !important;
    padding:8px 30px 8px 12px !important;
}
.rrp-upload-box:hover{border-color:#4a6cf7 !important;background:#f5f7ff !important;}
.rrp-upload-box.rrp-single-mode{border-color:#4a6cf7 !important;background:#f5f7ff !important;}
.rrp-upload-box.rrp-full{border-color:#1cc88a !important;background:#f0fbf6 !important;cursor:not-allowed;}
.rrp-upload-top{display:flex;align-items:center;gap:6px;}
.rrp-upload-box svg{width:14px;height:14px;color:#999;flex-shrink:0;}
.rrp-upload-box.rrp-full svg{color:#1cc88a;}
.rrp-upload-text{font-size:11px;font-weight:700;color:#666;}
.rrp-upload-box.rrp-full .rrp-upload-text{color:#1a8f61;}
.rrp-counter-text{font-size:10px;font-weight:700;color:#999;margin-left:auto;white-space:nowrap;}
.rrp-counter-text b{color:#111;}
.rrp-upload-box.rrp-full .rrp-counter-text{color:#111;}
.rrp-mode-flag{font-size:9px;color:#4a6cf7;font-weight:700;margin-top:4px;display:none;}
.rrp-mode-flag.show{display:block;}
.rrp-upload-note{font-size:9.5px;color:#c0392b;text-align:center;display:none;margin-top:4px;}
.rrp-upload-note.show{display:block;}
.rrp-upload-box input[type=file]{display:none;}

/* thumbnail grid on product page */
.rrp-thumbs{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:5px !important;margin:0 0 12px !important;}
.rrp-thumb-card{border:1px solid #eaeaea;border-radius:10px;overflow:hidden;background:#fafbfc;display:flex;flex-direction:column;}
.rrp-thumb-img-wrap{position:relative;width:100%;aspect-ratio:1/1;background:#fff;padding:6px 6px 3px;}
.rrp-thumb-img-inner{position:relative;width:100%;height:100%;overflow:hidden !important;border:1.5px solid #111;border-radius:10px;}
.rrp-thumb-img-inner img{position:absolute !important;top:0;left:0;width:100% !important;height:100% !important;object-fit:contain !important;display:block;background:#fafafa;}
.rrp-thumb-img-wrap .rrp-remove{
    position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;
    background:#fff;border:1.5px solid #111;color:#111;display:flex;align-items:center;justify-content:center;
    font-size:10px;font-weight:700;cursor:pointer;line-height:1;padding:0;z-index:3;
    box-shadow:0 1px 4px rgba(0,0,0,0.1);transition:all .15s;
}
.rrp-thumb-img-wrap .rrp-remove:hover{background:#f0f0f0;}
.rrp-thumb-img-wrap .rrp-remove svg{width:7px;height:7px;stroke:currentColor;}
.rrp-thumb-img-wrap.rrp-uploading{opacity:.5;}
.rrp-thumb-img-wrap.rrp-upload-error{border:1.5px solid #cc0000;}
.rrp-thumb-progress{
    position:absolute;inset:6px 6px 3px;display:none;align-items:center;justify-content:center;
    background:rgba(255,255,255,0.85);z-index:5;border-radius:10px;
}
.rrp-thumb-progress.show{display:flex;}
.rrp-thumb-progress-svg{width:26px;height:26px;transform:rotate(-90deg);}
.rrp-thumb-progress-bg{fill:none;stroke:#e8e8e8;stroke-width:3;}
.rrp-thumb-progress-bar{
    fill:none;stroke:#111;stroke-width:3;stroke-linecap:round;
    stroke-dasharray:100.53;stroke-dashoffset:100.53;transition:stroke-dashoffset .15s linear;
}
.rrp-thumb-progress-text{position:absolute;font-size:8px;font-weight:700;color:#111;}
.rrp-thumb-img-wrap.rrp-queued{opacity:.5;}
.rrp-thumb-queued-text{
    position:absolute;inset:6px 6px 3px;display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,0.85);z-index:5;border-radius:10px;font-size:8.5px;font-weight:700;color:#888;
}
.rrp-thumb-caption{padding:3px 5px 5px;}
.rrp-thumb-caption input{
    width:100%;border:1px solid #ddd;border-radius:6px;font-size:9px;padding:4px 5px;
    outline:none;background:#fff;color:#111;transition:border-color .2s ease;
    -webkit-appearance:none;appearance:none;
}
.rrp-thumb-caption input::placeholder{color:#c5c5c5;}
.rrp-thumb-caption input:focus{border-color:#111;}

.rrp-field-row{display:flex !important;gap:6px !important;margin:0 0 6px !important;width:100%;}
.rrp-field{flex:1 1 0;min-width:0;position:relative;margin:0 !important;}
.rrp-field label{display:inline-flex;align-items:center;gap:5px;font-size:10px !important;font-weight:700;color:#333;margin:0 0 3px !important;white-space:nowrap;line-height:1.3 !important;}
.rrp-required{color:#999;font-weight:400;}
.rrp-field-error{font-size:7.5px;color:#cc0000;font-weight:500;display:none;}
.rrp-field-error.show{display:inline-block;}

.rrp-input-wrap{
    display:flex !important;align-items:center;border:1.3px solid #ddd !important;border-radius:8px !important;
    padding:5px 10px !important;background:#fff !important;transition:all .2s ease;width:100% !important;
    height:auto !important;box-shadow:none !important;margin:0 !important;
}
.rrp-input-wrap:focus-within{border-color:#111 !important;box-shadow:0 0 0 4px rgba(0,0,0,0.05) !important;}
.rrp-input-wrap input{
    border:none !important;outline:none !important;font-size:12px !important;width:100% !important;
    background:transparent !important;color:#111 !important;padding:3px 0 !important;margin:0 !important;
    height:auto !important;line-height:1.3 !important;box-shadow:none !important;min-height:0 !important;
    -webkit-appearance:none;appearance:none;
}
.rrp-input-wrap input::placeholder{color:#c5c5c5 !important;font-weight:400;}
.rrp-input-wrap.has-error{border-color:#cc0000 !important;}

.rrp-checklist{margin:6px 0 0 !important;border:1px solid #dcdcdc;border-radius:10px;padding:6px 10px !important;background:#f2f2f2;display:flex;flex-wrap:nowrap;gap:3px 10px;}
.rrp-check-item{display:flex;align-items:center;gap:5px;font-size:10px;color:#999;padding:2px 0 !important;margin:0 !important;transition:all .2s ease;white-space:nowrap;line-height:1.3 !important;}
.rrp-check-item.done{color:#111;font-weight:600;}
.rrp-check-item .rrp-dot{width:12px;height:12px;border-radius:50%;border:1.3px solid #ccc;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;}
.rrp-check-item.done .rrp-dot{background:#111;border-color:#111;}
.rrp-check-item .rrp-dot svg{width:6px;height:6px;stroke:#fff;display:none;}
.rrp-check-item.done .rrp-dot svg{display:block;}

.rrp-confirm-notice{margin:10px 0 0 !important;display:flex;gap:5px;align-items:center;}
.rrp-confirm-notice svg{width:12px;height:12px;color:#999;flex-shrink:0;}
.rrp-confirm-notice span{font-size:9px !important;color:#999;margin:0 !important;line-height:1.3 !important;}

@media (min-width:600px){
    #custom-bulkimage-section{padding:20px 24px 24px;border-radius:18px;}
    .rrp-header h3{font-size:18px;}
    .rrp-header p{font-size:12.5px;}
    .rrp-thumb-caption input{font-size:11px;padding:5px 7px;}
    .rrp-field-row{gap:10px;}
    .rrp-field label{font-size:12px;}
    .rrp-input-wrap{padding:9px 13px;}
    .rrp-input-wrap input{font-size:14px;}
    .rrp-checklist{padding:8px 14px;gap:5px 16px;}
    .rrp-check-item{font-size:12px;}
    .rrp-confirm-notice span{font-size:10.5px;}
}

/* ===== Mini-cart / Cart / Checkout "View Photos" link =====
   Exact same "mini pill" style as the Two-Picture Keyring module's
   .reselect-images-button - small black pill, plain white text, tiny
   padding - with strong resets so the theme's default .button styles
   (the big orange button) can no longer override it. */
button.rrp-view-photos-link,
.rrp-view-photos-link{
    all:unset;
    display:inline-flex !important;align-items:center;justify-content:center;gap:5px;
    font-size:11px !important;font-weight:700 !important;line-height:1.4 !important;
    color:#111 !important;background:#f2f2f2 !important;
    padding:8px 14px !important;border-radius:8px !important;border:1.3px solid #ddd !important;
    cursor:pointer;text-decoration:none;transition:all .2s ease;box-shadow:none !important;
    width:auto !important;max-width:max-content !important;text-transform:none !important;
}
.rrp-view-photos-link:hover{background:#e9e9e9 !important;border-color:#ccc !important;}
.rrp-view-photos-link svg{display:none !important;}

/* ===== Cart / Checkout item-data labels - exact match to the ===== */
/* ===== Two-Picture Keyring module's .custom-data-label/-value ===== */
.custom-data-label{color:#5f5e5e !important;font-weight:600 !important;font-size:11px !important;}
.custom-data-value{font-weight:600;font-size:13px;text-transform:uppercase;}
.custom-data-value.whatsapp-value{color:#111 !important;text-decoration:none;font-weight:600;}
.custom-data-value.notes-value{color:#111 !important;font-style:italic;}

/* ===== Mini-cart extra fields (WhatsApp / Instructions) alongside the qty ===== */
.rrp-minicart-extra{display:block;margin-top:6px;}
.rrp-minicart-extra .rrp-view-photos-link{margin-bottom:5px;}
.rrp-minicart-row{font-size:12px;color:#4a5568;font-style:italic;margin-top:6px;padding-left:5px;border-left:2px solid #e2e8f0;}
.rrp-minicart-row strong{font-weight:600;color:#4a5568;font-style:normal;}

/* ===== Shared popup (mini-cart / cart / checkout) ===== */
.rrp-popup-overlay{position:fixed !important;inset:0 !important;background:rgba(0,0,0,.55) !important;display:none;align-items:center !important;justify-content:center !important;z-index:99999 !important;padding:20px !important;}
.rrp-popup-overlay.show{display:flex !important;}
.rrp-popup-sheet{
    background:#fff !important;width:420px !important;max-width:100% !important;
    height:560px !important;max-height:86vh !important;border-radius:18px !important;
    display:flex !important;flex-direction:column !important;overflow:hidden !important;
}
.rrp-popup-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 10px;border-bottom:1px solid #eee;flex-shrink:0;}
.rrp-popup-head h4{margin:0;font-size:15px;font-weight:800;color:#111;line-height:1.3;}
button.rrp-popup-close,
.rrp-popup-close{
    all:unset !important;
    width:28px !important;height:28px !important;border-radius:50% !important;
    background:#f2f2f2 !important;border:none !important;
    display:flex !important;align-items:center !important;justify-content:center !important;
    cursor:pointer !important;color:#666 !important;font-size:15px !important;line-height:1 !important;
    box-shadow:none !important;text-decoration:none !important;flex-shrink:0 !important;
    margin:0 !important;padding:0 !important;
}
.rrp-popup-close:hover{background:#e6e6e6 !important;color:#333 !important;}
.rrp-popup-body{padding:12px 16px 20px;overflow-y:auto !important;flex:1 1 auto !important;}
.rrp-popup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.rrp-pg-card{border:1px solid #eaeaea;border-radius:10px;overflow:hidden;background:#fafbfc;}
.rrp-pg-img{aspect-ratio:1/1;margin:5px;border-radius:9px;overflow:hidden;background:#fff;}
.rrp-pg-img img{width:100%;height:100%;object-fit:contain;}
.rrp-pg-caption{margin:0 5px 5px;border:1px solid #eee;border-radius:6px;padding:4px 5px;font-size:8.5px;color:#111;background:#fff;min-height:14px;text-align:center;}
.rrp-pg-caption.rrp-empty{color:#ccc;font-style:italic;}

/* ===== Thank-you / order-details / admin order grid (3 per row) ===== */
.rrp-order-photos-block,
.rrp-admin-block{background:#f8fafc;border:1px solid #e8f4f8;border-radius:10px;padding:12px;margin-top:8px;}
.rrp-order-photos-title{font-size:11px;font-weight:700;color:#5f5e5e;margin:0 0 8px;}
.rrp-order-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.rrp-og-card{background:#fff;border:1px solid #eaeaea;border-radius:10px;overflow:hidden;}
.rrp-og-img{aspect-ratio:1/1;margin:8px;border-radius:9px;overflow:hidden;background:#fff;}
.rrp-og-img img{width:100%;height:100%;object-fit:contain;}
.rrp-og-caption{margin:0 8px 6px;font-size:12px;color:#333;text-align:center;font-weight:600;}
.rrp-og-caption.rrp-empty{color:#ccc;font-style:italic;font-weight:400;}
.rrp-og-download{
    display:flex !important;align-items:center;justify-content:center;gap:5px;
    margin:0 8px 8px;background:#111 !important;color:#fff !important;
    font-size:11px;font-weight:600;padding:7px 0;border-radius:8px;
    text-decoration:none;transition:all .2s ease;
}
.rrp-og-download:hover{background:#333 !important;}
.rrp-og-download svg{width:12px;height:12px;stroke:#fff;}
.rrp-form-fields-note{background:#fff;border:1px dashed #ddd;border-radius:8px;padding:8px 10px;font-size:10px;color:#888;margin-top:8px;}
