.icons { margin-right: 5px; }

/* Professional UI Overhaul */
.box { 
    border-radius: 10px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.08); 
    border: 1px solid #edf2f7; 
    padding: 2rem !important; 
    background: #fff;
}

.form-section-title {
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #043270;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.form-section-title::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e2e8f0;
}
        
.form-label {
    display: block;
    font-weight: 600;
    font-size: 1rem;
    color: #4a5568;
    margin-bottom: 3px;
    margin-left: 2px;
}
        
input[type="text"], input[type="email"], select, textarea { 
    border-radius: 10px !important; 
    border: 1.5px solid #e2e8f0 !important; 
    transition: all 0.15s ease; 
    background: #f8fafc !important;
    padding: 12px 15px !important;
}

input:focus, select:focus, textarea:focus { 
    border-color: #043270 !important; 
    box-shadow: 0 0 0 4px rgba(66, 153, 225, 0.15) !important; 
    background: #fff !important;
    outline: none;
}
        
.char-counter {
    font-size: 1rem;
    color: #043270;
    margin-top: 6px;
    margin-right: 2px;
    text-align: right;
    font-weight: 600;
}
        
/* Upload Area */
.upload-zone {
    background: #fdfdfd; 
    padding: 30px; 
    border: 2px dashed #cbd5e0; 
    border-radius: 10px; 
    text-align: center;
    transition: 0.15s;
}

.upload-zone:hover {
    border-color: #043270;
    background: #f7fafc;
}
        
.custom-upload { 
    background: #2f855a;
    color: #fff;
    padding: 12px 24px;
    border-radius: 8px;
    cursor: pointer; 
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: 0.3s;
    font-weight: 700;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.custom-upload:hover {
    background: #276749;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}

.upload {
    display: none;
}

/* Agreement Box */
.agreement-box { 
    background: #fffaf0;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid #feebc8;
    margin-top: 15px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}
        
/* Header Link */
#postingRulesLink { 
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px; 
    background: #fff;
    color: #2b6cb0;
    border: 1px solid #bee3f8;
    border-radius: 30px;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 0.8rem;
    transition: 0.3s;
}

#postingRulesLink:hover {
    background: #2b6cb0;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(43, 108, 176, 0.2);
}
        
.button.repost { 
    background: #3182ce !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    transition: 0.3s !important;
}

.button.cancel {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -moz-transition: background color 0.2s ease-in-out, color 0.2s ease-in-out;
    -webkit-transition: background color 0.2s ease-in-out, color 0.2s ease-in-out;
    -ms-transition: background color 0.2s ease-in-out, color 0.2s ease-in-out;
    border: 0;
    cursor: pointer;
    display: inline-block;
    background: red !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px
    transition: 0.3s !important;
    height: 2.7em;
    font-size: 14.7px;
    line-height: 2.7em;
    letter-spacing 0.5px;
    white-space: nowrap;
    text-align: center;
}

.button.repost:disabled {
    background: #edf2f7 !important;
    color: #a0aec0 !important;
    border: 1px solid #e2e8f0 !important;
    cursor: not-allowed;
}

/* Image Gallery & Thumbnail Styles */
.image-gallery { display: flex; gap: 15px; flex-wrap: wrap; justify-content: center; margin-top: 20px; }
.thumb-wrapper { 
    position: relative; width: 110px; height: 110px; 
    border-radius: 10px; overflow: hidden; border: 2px solid #edf2f7;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); transition: 0.3s;
}
.thumb-wrapper:hover { transform: translateY(-3px); box-shadow: 0 6px 15px rgba(0,0,0,0.15); }
.thumb-wrapper img { width: 100%; height: 100%; object-fit: cover; }
    
.thumb-del-btn {
    position: absolute; top: 5px; right: 5px; background: rgba(229, 62, 62, 0.9);
    color: white; border: none; border-radius: 50%; width: 24px; height: 24px;
    font-size: 12px; cursor: pointer; display: flex; align-items: center; 
    justify-content: center; transition: 0.2s; z-index: 10;
}
.thumb-del-btn:hover { background: #c53030; transform: scale(1.1); }
    
/* Disabled state for upload button */
.custom-upload.disabled { 
    background: #cbd5e0 !important; cursor: not-allowed !important; 
    opacity: 0.6; pointer-events: none; 
}
    
.upload-limit-msg { 
    font-size: 0.85rem; font-weight: 700; color: #e53e3e; 
    margin-top: 10px; display: none; 
}

/* --- Empty State Card Styling --- */
.empty-state-card {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e4e6eb;
  padding: 60px 20px;
  text-align: center;
  max-width: 500px;
  margin: 40px auto;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.empty-card-icon {
  font-size: 3.5rem;
  color: #e4e6eb;
  margin-bottom: 40px;
}

.empty-state-card h2 {
  font-size: 1.7rem;
  font-weight: 800;
  color: #1a1a1a;
  margin-bottom: 10px;
}

.empty-state-card .main-msg {
  color: #65676b;
  font-size: 1.5rem;
  margin-bottom: 1px;
}
