/* =====================================================
   BizMela - Add Business
===================================================== */

body{
    background:#f5f7fb;
    font-family:inherit;
    overflow-y: visible !important;
    height: auto !important;
}

html {
    scroll-behavior: smooth !important;
}

/* ==========================
   Container
========================== */

.bm-container{
    width:92%;
    max-width:860px;
    margin:25px auto 40px;
}

.bm-page-header{
    margin-bottom:22px;
}

.bm-page-header h1{
    margin:0 0 5px;
    font-size:28px;
    font-weight:700;
    color:#1f2937;
}

.bm-page-header p{
    margin:0;
    font-size:15px;
    color:#6b7280;
}

/* ==========================
   Card
========================== */

.bm-card{
    background:#fff;
    border-radius:14px;
    padding:20px;
    margin-bottom:18px;
    box-shadow:0 4px 14px rgba(0,0,0,.04);
}

.bm-card-header{
    margin-bottom:16px;
}

.bm-card-header h2{
    margin:0 0 4px;
    font-size:20px;
    color:#111827;
}

.bm-card-header p{
    margin:0;
    color:#6b7280;
    font-size:14px;
}

/* ==========================
   Upload Wrapper
========================== */

.bm-upload-wrapper{
    display:grid;
    grid-template-columns:240px 1fr;
    gap:24px;
    margin-bottom:28px;
}

.bm-upload-item label{
    display:block;
    margin-bottom:12px;
    font-weight:600;
    color:#374151;
}

/* ==========================
   Upload Box
========================== */

.bm-upload-box{

    position:relative;

    height:220px;

    border:2px dashed #d8dce3;

    border-radius:14px;

    background:#fafafa;

    overflow:hidden;

    cursor:pointer;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    transition:.3s;

}

.bm-upload-box:hover{

    border-color:#ff5a5f;

    background:#fff5f5;

}

.bm-upload-box svg{

    width:42px;
    height:42px;

    color:#6b7280;

    margin-bottom:12px;

}

.bm-upload-box strong{

    display:block;

    font-size:18px;

    margin-bottom:8px;

}

.bm-upload-box small{

    color:#6b7280;

    font-size:13px;

}

.bm-upload-box input[type=file]{

    display:none;

}

/* ==========================
   Preview Image
========================== */

.bm-preview{

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    display:none;

    background:#fff;

    z-index:5;

}

/* Logo */

.bm-upload-item:first-child .bm-preview{

    object-fit:contain;

    padding:15px;

}

/* Cover */

.bm-upload-item:last-child .bm-preview{

    object-fit:cover;

}

/* Hide upload content */

.bm-upload-box.uploaded svg,
.bm-upload-box.uploaded strong,
.bm-upload-box.uploaded small{

    display:none;

}

/* Overlay */

.bm-upload-overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(0,0,0,.45);

    color:#fff;

    font-size:18px;

    font-weight:600;

    opacity:0;

    transition:.3s;

    z-index:10;

}

.bm-upload-box.uploaded:hover .bm-upload-overlay{

    opacity:1;

}

/* ==========================
   Form
========================== */

.bm-form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}

.bm-form-group{

    margin-bottom:14px;

}

.bm-form-group label{

    display:block;

    margin-bottom:10px;

    font-weight:600;

    color:#374151;

}

.bm-form-group input,
.bm-form-group select,
.bm-form-group textarea{

    width:100%;

    border:1px solid #d8dce3;

    border-radius:10px;

    padding:10px 12px;

    font-size:14px;

    transition:.3s;

    outline:none;

}

.bm-form-group textarea{

    min-height:80px;

    resize:vertical;

}

.bm-form-group input:focus,
.bm-form-group select:focus,
.bm-form-group textarea:focus{

    border-color:#ff5a5f;

    box-shadow:0 0 0 4px rgba(255,90,95,.12);

}

/* ==========================
   Google Map
========================== */

.bm-map-box{

    margin-top:20px;

    height:220px;

    border:2px dashed #d8dce3;

    border-radius:14px;

    background:#fafafa;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    color:#6b7280;

}

.bm-map-box strong{

    font-size:18px;

    color:#111827;

    margin-bottom:8px;

}

/* ==========================
   Submit Button
========================== */

.bm-submit-wrapper{

    margin-top:35px;

    display:flex;

    justify-content:flex-start;

}

.bm-submit-btn{

    background:#ff5a5f;

    color:#fff;

    border:none;

    border-radius:10px;

    padding:14px 30px;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.bm-submit-btn:hover{

    background:#e64b50;

    transform:translateY(-1px);

    box-shadow:0 8px 18px rgba(255,90,95,.25);

}

/* ==========================
   Searchable Custom Select
========================== */

.bm-searchable-select-wrap {
    position: relative;
}

.bm-custom-select {
    position: relative;
}

.bm-select-display {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border: 1px solid #d8dce3;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 14px;
    cursor: pointer;
    background: #fff;
    transition: .3s;
    user-select: none;
}

.bm-select-display:hover {
    border-color: #ff5a5f;
}

.bm-select-arrow {
    color: #9ca3af;
    flex-shrink: 0;
    transition: transform .2s;
}

.bm-select-dropdown.open + .bm-select-display .bm-select-arrow,
.bm-select-dropdown.open ~ .bm-select-display .bm-select-arrow {
    transform: rotate(180deg);
}

.bm-select-text {
    color: #374151;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bm-select-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    z-index: 1000;
    max-height: 280px;
    overflow: hidden;
    animation: bmDropIn .15s ease;
}

.bm-select-dropdown.open {
    display: block;
}

@keyframes bmDropIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

.bm-select-search {
    width: 100%;
    border: none;
    border-bottom: 1px solid #f3f4f6;
    padding: 10px 14px;
    font-size: 14px;
    outline: none;
    background: #fafbfc;
    border-radius: 10px 10px 0 0;
}

.bm-select-search::placeholder {
    color: #9ca3af;
}

.bm-select-options {
    max-height: 220px;
    overflow-y: auto;
    padding: 4px 0;
}

.bm-select-options::-webkit-scrollbar {
    width: 6px;
}

.bm-select-options::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 10px;
}

.bm-select-option {
    padding: 9px 14px;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
    transition: background .15s;
}

.bm-select-option:hover {
    background: #fff1f2;
    color: #ff5a5f;
}

.bm-select-empty {
    padding: 16px 14px;
    text-align: center;
    color: #9ca3af;
    font-size: 13px;
}

.required {
    color: #ef4444;
}

/* ==========================
   Inputs Placeholder
========================== */

.bm-form-group input::placeholder,
.bm-form-group textarea::placeholder{

    color:#9ca3af;

}

.bm-form-group select{

    appearance:none;

    background:#fff;

}

/* ==========================
   Scrollbar (Optional)
========================== */

textarea::-webkit-scrollbar{

    width:8px;

}

textarea::-webkit-scrollbar-thumb{

    background:#d1d5db;

    border-radius:10px;

}

/* ==========================
   Animation
========================== */

.bm-card{

    animation:fadeIn .35s ease;

}

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(10px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* ==========================
   Responsive
========================== */

@media (max-width:992px){

    .bm-container{

        width:95%;

    }

    .bm-upload-wrapper{

        grid-template-columns:1fr;

    }

}

@media (max-width:768px){

    .bm-page-header h1{

        font-size:28px;

    }

    .bm-card{

        padding:18px;

    }

    .bm-form-row{

        grid-template-columns:1fr;

        gap:16px;

    }

    .bm-upload-box{

        height:200px;

    }

    .bm-submit-btn{

        width:100%;

        justify-content:center;

    }

}

@media (max-width:480px){

    .bm-container{

        width:94%;

        margin:20px auto 40px;

    }

    .bm-page-header{

        margin-bottom:25px;

    }

    .bm-page-header h1{

        font-size:24px;

    }

    .bm-card-header h2{

        font-size:22px;

    }

    .bm-upload-box{

        height:180px;

    }

}

/* ==========================
   Utility
========================== */

.text-left{

    text-align:left;

}

.text-center{

    text-align:center;

}

.d-none{

    display:none !important;

}

.w-100{

    width:100%;

}

/*==================================
  Business Gallery
==================================*/

.bm-gallery-upload{

    min-height:180px;

}

.bm-gallery-preview{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(120px,1fr));

    gap:15px;

    margin-top:20px;

}

.bm-gallery-item{

    position:relative;

}

.bm-gallery-item img{

    width:100%;

    height:120px;

    object-fit:cover;

    border-radius:12px;

    border:1px solid #e5e7eb;

    display:block;

}

.bm-gallery-remove{

    position:absolute;

    top:8px;

    right:8px;

    width:28px;

    height:28px;

    border:none;

    border-radius:50%;

    background:#ef4444;

    color:#fff;

    cursor:pointer;

    font-size:14px;

    font-weight:700;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.3s;

}

.bm-gallery-remove:hover{

    background:#dc2626;

    transform:scale(1.08);

}

.bm-gallery-upload.uploaded{

    border-style:solid;

    border-color:#22c55e;

    background:#f0fdf4;

}

.bm-gallery-upload.uploaded strong{

    color:#15803d;

}

/* Success Message */

.bm-success-message{

    background:#ecfdf5;

    border:1px solid #22c55e;

    color:#166534;

    padding:18px 20px;

    border-radius:12px;

    margin-bottom:25px;

}

.bm-success-message strong{

    display:block;

    font-size:17px;

    margin-bottom:6px;

}

.bm-success-message p{

    margin:0;

}

/*==================================
 Success Message
==================================*/

.bm-success-message{

    display:flex;

    align-items:center;

    gap:20px;

    padding:22px;

    margin-bottom:25px;

    border-radius:16px;

    background:#f0fdf4;

    border:1px solid #86efac;

    animation:fadeIn .4s ease;

}

.bm-success-icon{

    width:60px;

    height:60px;

    border-radius:50%;

    background:#22c55e;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:30px;

    font-weight:700;

    flex-shrink:0;

}

.bm-success-content h3{

    margin:0 0 8px;

    font-size:22px;

    color:#166534;

}

.bm-success-content p{

    margin:0 0 18px;

    color:#4b5563;

}

.bm-success-actions{

    display:flex;

    gap:12px;

    flex-wrap:wrap;

}

.bm-success-btn{

    display:inline-block;

    padding:12px 22px;

    border-radius:10px;

    text-decoration:none;

    background:#22c55e;

    color:#fff;

    font-weight:600;

    transition:.3s;

}

.bm-success-btn:hover{

    background:#16a34a;

}

.bm-success-btn.secondary{

    background:#fff;

    color:#111827;

    border:1px solid #d1d5db;

}

.bm-success-btn.secondary:hover{

    background:#f3f4f6;

}

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(-10px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* ==========================
   Service Image Upload
========================== */

.bm-service-image-group{
    margin-top:10px;
}

.bm-image-hint{
    margin:0 0 14px;
    font-size:13px;
    color:#6b7280;
}

.bm-service-upload-box{
    position:relative;
    width:100%;
    max-width:280px;
    height:200px;
    border:2px dashed #d8dce3;
    border-radius:14px;
    background:#fafafa;
    overflow:hidden;
    cursor:pointer;
    transition:.3s;
}

.bm-service-upload-box:hover{
    border-color:#ff5a5f;
    background:#fff5f5;
}

.bm-service-upload-box input[type=file]{
    display:none;
}

/* Upload Content */

.bm-service-upload-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    width:100%;
    height:100%;
    padding:20px;
}

.bm-service-upload-content svg{
    width:38px;
    height:38px;
    color:#9ca3af;
    margin-bottom:12px;
}

.bm-service-upload-content strong{
    display:block;
    font-size:15px;
    color:#374151;
    margin-bottom:6px;
}

.bm-service-upload-content small{
    color:#9ca3af;
    font-size:12px;
}

/* Preview Image */

.bm-service-preview{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:contain;
    padding:10px;
    background:#fff;
    z-index:5;
}

/* Uploaded State */

.bm-service-upload-box.uploaded{
    border-style:solid;
    border-color:#22c55e;
    background:#f0fdf4;
}

.bm-service-upload-box.uploaded:hover{
    border-color:#16a34a;
}

.bm-service-upload-box.uploaded .bm-service-upload-content{
    display:none;
}

.bm-service-upload-box.uploaded .bm-upload-overlay{
    opacity:0;
}

.bm-service-upload-box.uploaded:hover .bm-upload-overlay{
    opacity:1;
}

/* Image Actions */

#bm-image-actions{
    margin-top:10px;
    gap:10px;
    align-items:center;
}

.bm-remove-image-btn{
    background:none;
    border:1px solid #ef4444;
    color:#ef4444;
    padding:8px 16px;
    border-radius:8px;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.bm-remove-image-btn:hover{
    background:#fef2f2;
    border-color:#dc2626;
    color:#dc2626;
}

/* Responsive */

@media (max-width:480px){

    .bm-service-upload-box{
        max-width:100%;
        height:180px;
    }

}