#generator-form {
    max-width: 900px;
    margin: 20px auto;
    padding: 30px;
    background: #fff; border: 1px solid var(--border); border-radius: 12px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.form-group { margin-bottom: 15px; }
.full-width { grid-column: span 2; }
.form-group label { display: block; font-size: 12px; font-weight: bold; margin-bottom: 6px; color: var(--accent); text-transform: uppercase; }
input, select, textarea { width: 100%; padding: 12px; border: 1px solid #d1d5db; border-radius: 8px; font-family: inherit; font-size: 15px; }

.multi-input { display: flex; gap: 8px; margin-bottom: 8px; }
.add-btn { background: var(--accent); color: white; border: none; padding: 0 20px; border-radius: 8px; cursor: pointer; font-weight: bold; }
.tags-container { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px; border: 1px dashed #ccc; border-radius: 8px; min-height: 45px; }
.tag { background: #f3f4f6; padding: 6px 12px; border-radius: 6px; font-size: 13px; display: flex; align-items: center; gap: 6px; }
.tag span { cursor: pointer; font-weight: bold; color: #ef4444; }

.print-trigger-btn {
    background: var(--accent); color: white; border: none; padding: 18px; 
    width: 100%; border-radius: 10px; font-weight: bold; cursor: pointer; 
    font-size: 18px; margin-top: 10px;
}

.date-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.cal-icon-img {
    position: absolute;
    right: 12px; /* Distance from the right edge */
    width: 18px;  /* Adjust size as needed */
    height: 18px;
    object-fit: contain;
    pointer-events: none; /* Allows clicks to pass through to the wrapper */
}

/* Ensure the input text doesn't overlap the image */
.date-input-display {
    padding-right: 40px !important;
}

/* Container to allow absolute positioning of the icon */
.input-icon-container {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

/* The logo preview image */
.input-icon-img {
    position: absolute;
    right: 12px;
    width: 20px;
    height: 20px;
    object-fit: contain;
    pointer-events: none; /* Clicking the logo still focuses the input */
    border-radius: 4px;
}

/* Ensure the text doesn't go under the logo */
#in-custom-url {
    padding-right: 40px;
}

input.invalid {
    border-color: #ef4444 !important;
    background-color: #fff5f5;
}

/* This targets the button when it has the disabled attribute */
button[disabled] {
    background-color: #9ca3af !important; /* Gray color */
    cursor: not-allowed !important;
    pointer-events: none; /* Physically prevents clicks/hovers */
    opacity: 0.6;
    transform: none !important; /* Prevents any "hover scale" effects */
}