/* --- Admin Meta Box Styles --- */
.ttt-meta-box-content {
    padding: 10px;
    text-align: center;
}

.ttt-meta-box-content h4 {
    margin-top: 0;
    margin-bottom: 15px;
}

.ttt-meta-box-content .description {
    font-style: italic;
    color: #666;
    margin-bottom: 10px;
}

.ttt-meta-box-content #ttt-status-text {
    font-weight: bold;
    margin-bottom: 10px;
    transition: color 0.3s;
}

.status-enabled { color: #4CAF50; }
.status-disabled { color: #f44336; }

.ttt-notice {
    margin: 5px 0 15px;
    padding: 1px 12px;
    border-left-width: 4px;
    border-left-style: solid;
}

.ttt-notice.notice-warning { border-color: #ffb900; }
.ttt-notice p { margin: 0.5em 0; }

/* --- Shortcode Styles --- */
.ttt-shortcode-wrapper {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    background-color: #f9f9f9;
    position: relative;
    text-align: center;
}

.ttt-shortcode-wrapper h3 {
    margin-top: 0;
}

.ttt-shortcode-wrapper .description {
    font-size: 0.9em;
    color: #555;
    margin-bottom: 15px;
}

.ttt-columns-container {
    display: flex;
    gap: 20px;
    text-align: left;
}

.ttt-column {
    flex: 1;
    min-width: 0; /* Prevents flex items from overflowing */
}

.ttt-column h4 {
    margin-top: 0;
    margin-bottom: 5px;
    font-size: 1em;
    color: #444;
}

.ttt-shortcode-wrapper textarea {
    width: 100%;
    box-sizing: border-box; 
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    line-height: 1.5;
    resize: vertical;
}

#ttt-shortcode-output {
    background-color: #f0f0f0;
    color: #333;
}

/* Responsive layout for smaller screens */
@media (max-width: 600px) {
    .ttt-columns-container {
        flex-direction: column;
    }
}


/* --- Shared Loader Styles --- */
.ttt-loader {
    border: 4px solid #f3f3f3;
    border-radius: 50%;
    border-top: 4px solid #3498db;
    width: 20px;
    height: 20px;
    -webkit-animation: spin 2s linear infinite; /* Safari */
    animation: spin 2s linear infinite;
    display: inline-block;
    vertical-align: middle;
}

#ttt-loader { margin-left: 10px; }

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* --- Toggle Switch Styles --- */
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
    margin-bottom: 10px;
}
.switch input { opacity: 0; width: 0; height: 0; }
.slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #ccc;
    transition: .4s;
}
.slider:before {
    position: absolute;
    content: "";
    height: 26px; width: 26px;
    left: 4px; bottom: 4px;
    background-color: white;
    transition: .4s;
}
input:checked + .slider { background-color: #2196F3; }
input:focus + .slider { box-shadow: 0 0 1px #2196F3; }
input:checked + .slider:before { transform: translateX(26px); }
.slider.round { border-radius: 34px; }
.slider.round:before { border-radius: 50%; }