/* ============================================= */
/* ===== OCC Titles Plugin - General Styles ===== */
/* ============================================= */

/* Container Styles */
#occ_titles_controls_container {
		max-width: 100%;
}

/* Typography & Element Alignment */
.occ_titles_style_label {
		margin-right: 10px;
		font-weight: bold;
}

#occ_titles--controls-wrapper {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-bottom: 20px;
}

/* ======================================= */
/* ===== Table Styles & Formatting ======= */
/* ======================================= */
#occ_titles_table {
		margin-top: 20px;
		width: 100%;
		border-collapse: collapse;
		border: 1px solid #ddd;
		text-align: center;
}

#occ_titles_table th,
#occ_titles_table td {
		padding: 12px;
		border-bottom: 1px solid #ddd;
		vertical-align: middle;
}

#occ_titles_table tr:hover {
		background-color: #f5f5f5;
}

#occ_titles_table td.emoji {
		font-size: 3em;
}

#occ_titles_table tr.best-title {
		background-color: #e0ffe0;
}

#occ_titles_table td a {
		color: #0073aa;
		text-decoration: none;
		font-weight: bold;
}

#occ_titles_table td a:hover {
		text-decoration: underline;
}

/* ======================================= */
/* ===== Button Styles =================== */
/* ======================================= */
#occ_titles_revert_button,
#occ_titles_button,
#occ_titles_create_assistant {
		margin: 1rem 0;
		background: #0073aa;
		color: #fff;
		border: none;
		padding: 10px 20px;
		cursor: pointer;
		display: inline-flex;
		align-items: center;
		border-radius: 4px;
		justify-content: center;
}

#occ_titles_revert_button img,
#occ_titles_button img,
#occ_titles_create_assistant img {
		margin-right: 8px;
		width: 20px;
		height: 20px;
		vertical-align: middle;
}

#occ_titles_revert_button:hover,
#occ_titles_button:hover,
#occ_titles_create_assistant:hover {
		background-color: #005177;
}

#occ_titles_revert_button:active,
#occ_titles_button:active,
#occ_titles_create_assistant:active {
		background-color: #00395a;
}

#occ_titles_revert_button:focus,
#occ_titles_button:focus,
#occ_titles_create_assistant:focus {
		outline: none;
		box-shadow: 0 0 0 2px #005177;
}

/* Special Button Adjustments */
button#occ_titles_generate_button_block {
		border: none;
}

/* ======================================= */
/* ===== Spinner & Loader Styles ========= */
/* ======================================= */
.occ-spinner-wrapper {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5);
		z-index: 9999;
}

.occ-spinner {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 80px;
		height: 80px;
		margin: -40px 0 0 -40px;
		border: 8px solid rgba(255, 255, 255, 0.1);
		border-top: 8px solid #0073aa;
		border-radius: 50%;
		animation: spin 0.8s linear infinite;
}

.occ-spinner-text {
		position: absolute;
		top: calc(50% + 80px);
		left: 50%;
		transform: translate(-50%, -50%);
		color: #fff;
		font-size: 2em;
		text-align: center;
}

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

/* ======================================= */
/* ===== Settings Form Styles ============ */
/* ======================================= */
.occ_titles-settings-form .form-table {
		width: 100%;
		max-width: 800px;
		margin-top: 0;
		background-color: #fff;
		border: 1px solid #ddd;
		border-radius: 4px;
		padding: 20px;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.occ_titles-settings-shell {
		--occ-titles-ink: #0f172a;
		--occ-titles-muted: #526071;
		--occ-titles-border: #d8dee7;
		--occ-titles-surface: #ffffff;
		--occ-titles-surface-soft: #fbf7f1;
		--occ-titles-accent: #b75b22;
		--occ-titles-accent-soft: #fff1e5;
		--occ-titles-accent-strong: #8a3412;
		max-width: 1500px;
		width: 100%;
		margin: 20px auto 0;
		padding-left: 18px;
		padding-right: 18px;
		box-sizing: border-box;
}

.occ_titles-settings-hero {
		display: grid;
		grid-template-columns: minmax(0, 1.7fr) minmax(300px, 360px);
		gap: 20px;
		margin: 12px 0 28px;
		padding: 28px;
		border: 1px solid rgba(183, 91, 34, 0.16);
		border-radius: 22px;
		background:
			radial-gradient(circle at top right, rgba(255, 212, 178, 0.65), transparent 34%),
			linear-gradient(135deg, #fffaf4 0%, #fff 48%, #f8fbff 100%);
		box-shadow: 0 22px 50px rgba(15, 23, 42, 0.08);
}

.occ_titles-settings-copy {
		max-width: 70ch;
}

.occ_titles-settings-kicker {
		margin: 0 0 8px;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--occ-titles-accent-strong);
}

.occ_titles-settings-title {
		margin: 0 0 8px;
		font-size: 36px;
		line-height: 1.15;
		color: var(--occ-titles-ink);
}

.occ_titles-settings-intro {
		margin: 0;
		font-size: 16px;
		line-height: 1.6;
		color: var(--occ-titles-muted);
}

.occ_titles-settings-pills {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin-top: 18px;
}

.occ_titles-settings-pill {
		display: inline-flex;
		align-items: center;
		padding: 8px 12px;
		border: 1px solid rgba(15, 23, 42, 0.08);
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.7);
		color: var(--occ-titles-ink);
		font-size: 12px;
		font-weight: 600;
}

.occ_titles-settings-pill.is-accent {
		border-color: rgba(183, 91, 34, 0.18);
		background: var(--occ-titles-accent-soft);
		color: var(--occ-titles-accent-strong);
}

.occ_titles-settings-hero-panel {
		display: flex;
		flex-direction: column;
		gap: 16px;
		padding: 20px;
		border: 1px solid rgba(15, 23, 42, 0.08);
		border-radius: 18px;
		background: rgba(255, 255, 255, 0.88);
		backdrop-filter: blur(12px);
}

.occ_titles-settings-save-state,
.occ_titles-settings-progress {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
}

.occ_titles-settings-save-state-label,
.occ_titles-settings-progress-label {
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: var(--occ-titles-muted);
}

.occ_titles-settings-save-state-value,
.occ_titles-settings-progress-value {
		font-size: 14px;
		font-weight: 700;
		color: var(--occ-titles-ink);
}

.occ_titles-settings-save-state-value.is-ready,
.occ_titles-settings-save-state-value.is-saved {
		color: #0a6b2d;
}

.occ_titles-settings-save-state-value.is-saving {
		color: #9a3412;
}

.occ_titles-settings-save-state-value.is-error {
		color: #b42318;
}

.occ_titles-settings-checklist {
		display: grid;
		gap: 10px;
		margin: 0;
		padding: 0;
		list-style: none;
}

.occ_titles-settings-checklist li {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 4px 16px;
		padding: 12px 14px;
		border-radius: 12px;
		border: 1px solid #e6ebf2;
		background: #fff;
}

.occ_titles-settings-checklist li::before {
		content: '○';
		grid-column: 1;
		color: #94a3b8;
		font-size: 13px;
}

.occ_titles-settings-checklist li.is-complete {
		border-color: rgba(34, 197, 94, 0.22);
		background: #f5fcf7;
}

.occ_titles-settings-checklist li.is-complete::before {
		content: '●';
		color: #15803d;
}

.occ_titles-settings-checklist-title {
		font-size: 14px;
		font-weight: 600;
		color: var(--occ-titles-ink);
}

.occ_titles-settings-checklist-detail {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: center;
		font-size: 12px;
		color: var(--occ-titles-muted);
}

.occ_titles-settings-actions {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
}

.occ_titles-settings-layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
		gap: 20px;
		align-items: start;
}

.occ_titles-settings-form {
		display: flex;
		flex-direction: column;
		gap: 24px;
}

.occ_titles-settings-card {
		padding: 26px;
		border: 1px solid var(--occ-titles-border);
		border-radius: 18px;
		background: var(--occ-titles-surface);
		box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.occ_titles-settings-card-header {
		display: flex;
		align-items: flex-start;
		gap: 16px;
		margin-bottom: 20px;
}

.occ_titles-settings-step {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		border-radius: 12px;
		background: var(--occ-titles-accent-soft);
		color: var(--occ-titles-accent-strong);
		font-size: 16px;
		font-weight: 700;
}

.occ_titles-settings-card-copy {
		max-width: 74ch;
}

.occ_titles-settings-card-kicker,
.occ_titles-settings-sidebar-kicker {
		margin: 0 0 6px;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--occ-titles-accent-strong);
}

.occ_titles-settings-card-copy h2,
.occ_titles-settings-sidebar-card h2,
.occ_titles-settings-submit-copy h2 {
		margin: 0 0 6px;
		font-size: 24px;
		line-height: 1.2;
		color: var(--occ-titles-ink);
}

.occ_titles-settings-card-copy p,
.occ_titles-settings-sidebar-card p,
.occ_titles-settings-submit-copy p {
		margin: 0;
		color: var(--occ-titles-muted);
		font-size: 14px;
		line-height: 1.6;
}

.occ_titles-settings-card-grid {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
		gap: 18px;
}

.occ_titles-settings-field {
		display: flex;
		flex-direction: column;
		gap: 12px;
		padding: 18px;
		border: 1px solid #e9edf3;
		border-radius: 16px;
		background: linear-gradient(180deg, #fff 0%, #fcfcfb 100%);
}

.occ_titles-settings-field.is-wide {
		grid-column: 1 / -1;
}

.occ_titles-settings-field-title {
		margin: 0;
		font-size: 17px;
		line-height: 1.25;
		color: var(--occ-titles-ink);
}

.occ_titles-settings-field-description {
		margin: 6px 0 0;
		font-size: 13px;
		line-height: 1.6;
		color: var(--occ-titles-muted);
}

.occ_titles-settings-field-control {
		display: grid;
		gap: 12px;
}

.occ_titles-field-input,
.occ_titles-field-textarea,
.occ_titles-settings-field-control input[type="text"],
.occ_titles-settings-field-control input[type="password"],
.occ_titles-settings-field-control select,
.occ_titles-settings-field-control textarea {
		width: 100%;
		max-width: none;
		min-height: 48px;
		padding: 12px 14px;
		border: 1px solid #ccd6e0;
		border-radius: 12px;
		background: #fff;
		box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
		font-size: 14px;
}

.occ_titles-field-textarea,
.occ_titles-settings-field-control textarea {
		min-height: 132px;
		resize: vertical;
}

.occ_titles-field-input:focus,
.occ_titles-field-textarea:focus,
.occ_titles-settings-field-control input[type="text"]:focus,
.occ_titles-settings-field-control input[type="password"]:focus,
.occ_titles-settings-field-control select:focus,
.occ_titles-settings-field-control textarea:focus {
		border-color: #f59e0b;
		box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.12);
		outline: 0;
}

.occ_titles-field-inline-note {
		margin: 0;
		font-size: 13px;
		line-height: 1.5;
		color: var(--occ-titles-muted);
}

.occ_titles-field-inline-note a {
		color: #1d4ed8;
		font-weight: 600;
}

.occ_titles-settings-field-control .error {
		margin: 0;
		padding: 12px 14px;
		border-radius: 12px;
		background: #fff5f5;
		color: #b42318;
}

.occ_titles-settings-sidebar {
		display: flex;
		flex-direction: column;
		gap: 18px;
}

.occ_titles-settings-sidebar-card,
.occ_titles-settings-submit {
		padding: 22px;
		border: 1px solid var(--occ-titles-border);
		border-radius: 18px;
		background: var(--occ-titles-surface);
		box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.occ_titles-settings-sidebar-list {
		display: grid;
		gap: 10px;
		margin: 16px 0 0;
		padding-left: 18px;
		color: var(--occ-titles-ink);
}

.occ_titles-settings-sidebar-list li {
		line-height: 1.5;
}

.occ_titles-settings-facts {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		margin-top: 16px;
}

.occ_titles-settings-fact {
		padding: 14px;
		border-radius: 12px;
		background: var(--occ-titles-surface-soft);
		border: 1px solid #efe3d4;
}

.occ_titles-settings-fact-label {
		display: block;
		margin-bottom: 6px;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--occ-titles-muted);
}

.occ_titles-settings-fact strong {
		font-size: 16px;
		color: var(--occ-titles-ink);
}

.occ_titles-settings-submit {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
}

.occ_titles-settings-submit-copy {
		max-width: 54ch;
}

.occ_titles-settings-submit-action .button-primary {
		height: 48px;
		padding: 0 20px;
		border-radius: 12px;
		background: linear-gradient(135deg, #b75b22 0%, #8a3412 100%);
		border-color: #8a3412;
		box-shadow: 0 12px 22px rgba(183, 91, 34, 0.22);
}

.occ_titles-settings-submit-action .button-primary:hover,
.occ_titles-settings-submit-action .button-primary:focus {
		background: linear-gradient(135deg, #a24f1b 0%, #7c2d12 100%);
		border-color: #7c2d12;
}

.occ_titles-settings-form .form-table th {
		width: 25%;
		text-align: left;
		padding: 10px;
		vertical-align: top;
		font-weight: 600;
		background-color: #f9f9f9;
}

.occ_titles-settings-form .form-table td {
		padding: 10px;
		vertical-align: top;
}

.occ_titles-settings-form .form-table .description {
		margin-top: 5px;
		color: #666;
}

.occ_titles-settings-form .form-table input[type="text"],
.occ_titles-settings-form .form-table input[type="password"],
.occ_titles-settings-form .form-table select {
		width: 100%;
		max-width: 400px;
		padding: 8px;
		border: 1px solid #ddd;
		border-radius: 4px;
		box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

.occ_titles-settings-form .form-table input[type="checkbox"] {
		margin-right: 5px;
}

.occ_titles-settings-form .submit input[type="submit"] {
		background: #0073aa;
		color: #fff;
		border: none;
		padding: 10px 20px;
		cursor: pointer;
		border-radius: 4px;
}

.occ_titles-settings-form .submit input[type="submit"]:hover {
		background: #005177;
}

/* ======================================= */
/* ===== Toggle Switch Styles ============ */
/* ======================================= */
.toggle-switch-container {
		display: flex;
		align-items: center;
		margin-bottom: 10px;
}

.toggle-switch {
		position: relative;
		display: inline-block;
		width: 60px;
		height: 34px;
		margin: 10px;
}

.toggle-switch input {
		display: none;
}

.slider {
		position: absolute;
		cursor: pointer;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: #ccc;
		transition: 0.4s;
		border-radius: 34px;
}

.slider:before {
		position: absolute;
		content: "";
		height: 26px;
		width: 26px;
		left: 4px;
		bottom: 4px;
		background-color: white;
		transition: 0.4s;
		border-radius: 50%;
}

input:checked+.slider {
		background-color: #0073aa;
}

input:checked+.slider:before {
		transform: translateX(26px);
}

/* ======================================= */
/* ===== Notification Styles ============= */
/* ======================================= */
.occ_titles-notification {
		position: fixed;
		top: 40px;
		right: 20px;
		z-index: 1000;
		background-color: #0f172a;
		color: #fff;
		padding: 12px 18px;
		border-radius: 16px;
		box-shadow: 0 16px 36px rgba(15, 23, 42, 0.25);
		font-size: 14px;
		display: none;
		min-height: 50px;
		line-height: 1.4;
		display: flex;
		align-items: center;
		justify-content: center;
}

.occ_titles-notification.info {
		background-color: #0f172a;
}

.occ_titles-notification.success {
		background-color: #0a6b2d;
}

.occ_titles-notification.error {
		background-color: #b42318;
}

.occ_titles-notification.fade-in {
		animation: fadeIn 0.5s forwards;
}

.occ_titles-notification.fade-out {
		animation: fadeOut 0.5s forwards;
}

@keyframes fadeIn {
		from { opacity: 0; transform: translateY(-10px); }
		to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeOut {
		from { opacity: 1; transform: translateY(0); }
		to { opacity: 0; transform: translateY(-10px); }
}

/* ======================================= */
/* ===== API Key Status Badge ============ */
/* ======================================= */
.occ_titles-api-status {
		margin-top: 4px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
}

.occ_titles-api-badge {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		padding: 4px 10px;
		border-radius: 999px;
		font-size: 12px;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.02em;
		background-color: #f0f0f1;
		color: #1d2327;
}

.occ_titles-api-badge.status-valid {
		background-color: #e7f7ed;
		color: #0a6b2d;
}

.occ_titles-api-badge.status-invalid {
		background-color: #fde8e8;
		color: #b42318;
}

.occ_titles-api-badge.status-unknown {
		background-color: #fff3cd;
		color: #8a6100;
}

.occ_titles-api-meta {
		font-size: 12px;
		color: var(--occ-titles-muted);
}

.occ_titles-switch-card {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 18px;
		border-radius: 14px;
		background: var(--occ-titles-surface-soft);
		border: 1px solid #efe3d4;
}

.occ_titles-switch-card-copy {
		display: flex;
		flex-direction: column;
		gap: 4px;
}

.occ_titles-switch-card-copy strong {
		color: var(--occ-titles-ink);
		font-size: 14px;
}

.occ_titles-switch-card-copy span {
		color: var(--occ-titles-muted);
		font-size: 13px;
		line-height: 1.5;
}

.occ_titles-switch-card-toggle {
		position: relative;
		display: inline-flex;
		width: 72px;
		height: 40px;
		flex: 0 0 auto;
}

.occ_titles-switch-card-toggle input {
		position: absolute;
		inset: 0;
		margin: 0;
		opacity: 0;
		cursor: pointer;
}

.occ_titles-switch-card-track {
		position: relative;
		width: 72px;
		height: 40px;
		border-radius: 999px;
		background: #d9e2ec;
		transition: background-color 0.2s ease;
}

.occ_titles-switch-card-track::after {
		content: "";
		position: absolute;
		top: 5px;
		left: 5px;
		width: 30px;
		height: 30px;
		border-radius: 999px;
		background: #fff;
		box-shadow: 0 6px 14px rgba(15, 23, 42, 0.16);
		transition: transform 0.2s ease;
}

.occ_titles-switch-card-toggle input:checked + .occ_titles-switch-card-track {
		background: linear-gradient(135deg, #b75b22 0%, #8a3412 100%);
}

.occ_titles-switch-card-toggle input:checked + .occ_titles-switch-card-track::after {
		transform: translateX(32px);
}

.occ_titles-post-type-grid {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
		gap: 12px;
}

.occ_titles-post-type-card {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 12px;
		align-items: center;
		cursor: pointer;
}

.occ_titles-post-type-card input {
		position: absolute;
		opacity: 0;
		pointer-events: none;
}

.occ_titles-post-type-card-body {
		display: flex;
		flex-direction: column;
		gap: 6px;
		min-height: 110px;
		padding: 18px;
		border-radius: 14px;
		border: 1px solid #dbe3ec;
		background: #fff;
		transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.occ_titles-post-type-card-title {
		font-size: 15px;
		font-weight: 700;
		color: var(--occ-titles-ink);
}

.occ_titles-post-type-card-description {
		font-size: 13px;
		line-height: 1.5;
		color: var(--occ-titles-muted);
}

.occ_titles-post-type-card-state {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 8px 10px;
		border-radius: 999px;
		border: 1px solid #dbe3ec;
		background: #fff;
		color: #94a3b8;
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
}

.occ_titles-post-type-card input:checked + .occ_titles-post-type-card-body {
		border-color: rgba(183, 91, 34, 0.32);
		background: linear-gradient(180deg, #fff9f5 0%, #fff 100%);
		box-shadow: 0 12px 24px rgba(183, 91, 34, 0.12);
		transform: translateY(-1px);
}

.occ_titles-post-type-card input:checked ~ .occ_titles-post-type-card-state {
		border-color: rgba(183, 91, 34, 0.24);
		background: var(--occ-titles-accent-soft);
		color: var(--occ-titles-accent-strong);
}

.occ_titles-voice-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
}

.occ_titles-voice-field {
		display: flex;
		flex-direction: column;
		gap: 8px;
}

.occ_titles-voice-field.is-wide {
		grid-column: 1 / -1;
}

.occ_titles-voice-field label {
		color: var(--occ-titles-ink);
		font-size: 14px;
}

.occ_titles-voice-field-description {
		margin: 0;
		font-size: 13px;
		line-height: 1.5;
		color: var(--occ-titles-muted);
}

/* ======================================= */
/* ===== Results Table UX ================ */
/* ======================================= */
#occ_titles_table_container {
		width: 100%;
		max-width: none;
		margin-right: auto;
}

.occ_titles-results {
		--occ-results-ink: #0f172a;
		--occ-results-muted: #526071;
		--occ-results-border: #d8dee7;
		--occ-results-surface: #ffffff;
		--occ-results-surface-soft: #fbf7f1;
		--occ-results-accent: #b75b22;
		--occ-results-accent-soft: #fff1e5;
		--occ-results-accent-strong: #8a3412;
		margin-top: 16px;
		display: grid;
		gap: 10px;
		padding: 10px;
		border: 1px solid rgba(183, 91, 34, 0.14);
		border-radius: 16px;
		background: linear-gradient(180deg, #fffaf4 0%, #fff 42%, #f8fbff 100%);
		box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.occ_titles-results .button {
		border-radius: 12px;
}

.occ_titles-results .button:focus,
.occ_titles-results .button:hover,
.occ_titles-results select:focus,
.occ_titles-results input:focus {
		outline: 0;
}

.occ_titles-results-header {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 16px;
		background: linear-gradient(180deg, #fff 0%, #fcfcfb 100%);
		border: 1px solid rgba(183, 91, 34, 0.14);
		border-radius: 16px;
		padding: 12px 14px;
		box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.occ_titles-results-title {
		margin: 0 0 4px;
		font-size: 18px;
		line-height: 1.2;
		color: #0f172a;
}

.occ_titles-results-meta {
		margin: 0;
		color: var(--occ-results-muted);
		font-size: 13px;
}

.occ_titles-results-provider {
		display: inline-flex;
		align-items: center;
		margin: 6px 0 0;
		padding: 4px 8px;
		border-radius: 999px;
		background: var(--occ-results-accent-soft);
		color: var(--occ-results-accent-strong);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.05em;
		text-transform: uppercase;
}

.occ_titles-results-actions {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-end;
		gap: 8px;
}

.occ_titles-results-bulk-actions {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 6px;
}

.occ_titles-results-bulk-actions .button {
		min-width: 0;
		border-color: rgba(183, 91, 34, 0.18);
		background: #fffaf5;
		color: var(--occ-results-accent-strong);
		padding: 0 12px;
}

.occ_titles-results-bulk-actions .button:hover,
.occ_titles-results-bulk-actions .button:focus {
		border-color: rgba(183, 91, 34, 0.34);
		background: #fff1e5;
		color: #7c2d12;
}

.occ_titles-results-actions .button.is-success {
		background: linear-gradient(135deg, #15803d 0%, #166534 100%);
		border-color: #166534;
		color: #fff;
}

.occ_titles-results-utility {
		display: flex;
		align-items: center;
}

.occ_titles-results-toggle.button {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		min-width: 132px;
		justify-content: center;
		border-color: #fdba74;
		background: #fff7ed;
		color: #9a3412;
		font-weight: 600;
}

.occ_titles-results-toggle.button:hover,
.occ_titles-results-toggle.button:focus {
		border-color: #fb923c;
		background: #ffedd5;
		color: #7c2d12;
}

.occ_titles-results-toggle.button::before {
		content: '▾';
		font-size: 12px;
}

.occ_titles-results-toggle.button[aria-expanded="false"] {
		border-color: rgba(183, 91, 34, 0.2);
		background: #fff;
		color: #7c2d12;
}

.occ_titles-results-toggle.button[aria-expanded="false"]::before {
		content: '▸';
}

.occ_titles-controls {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 12px;
		border: 1px solid rgba(183, 91, 34, 0.14);
		border-radius: 16px;
		background: linear-gradient(180deg, #fff 0%, #fcfcfb 100%);
		box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.occ_titles-controls-header {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 12px;
}

.occ_titles-controls-summary {
		max-width: 60ch;
}

.occ_titles-controls-kicker {
		margin: 0 0 6px;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: #9a3412;
}

.occ_titles-controls-title {
		margin: 0 0 4px;
		font-size: 17px;
		line-height: 1.2;
		color: #0f172a;
}

.occ_titles-controls-intro {
		margin: 0;
		font-size: 13px;
		line-height: 1.5;
		color: var(--occ-results-muted);
}

.occ_titles-control-row {
		display: flex;
		flex-wrap: wrap;
		gap: 18px;
		align-items: flex-end;
		justify-content: space-between;
}

.occ_titles-control {
		min-width: 220px;
}

.occ_titles-control-group {
		display: flex;
		gap: 12px;
		flex-wrap: wrap;
}

.occ_titles-control-item {
		display: flex;
		flex-direction: column;
		gap: 6px;
		min-width: 180px;
}

.occ_titles-control-item > label,
.occ_titles-keywords-panel > label {
		color: var(--occ-results-ink);
}

.occ_titles-control-actions {
		display: flex;
		gap: 10px;
		align-items: center;
		flex-wrap: wrap;
}

.occ_titles-controls .button {
		height: 40px;
		padding: 0 14px;
}

.occ_titles-controls select {
		min-height: 40px;
		border: 1px solid #ccd6e0;
		border-radius: 12px;
		background: #fff;
		padding: 0 10px;
		box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
}

.occ_titles-controls select:focus {
		border-color: #f59e0b;
		box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.12);
}

.occ_titles-controls-help {
		margin: 0;
		font-size: 12px;
		color: var(--occ-results-muted);
}

.occ_titles-controls .button-primary {
		background: linear-gradient(135deg, #b75b22 0%, #8a3412 100%);
		border-color: #8a3412;
		box-shadow: 0 12px 22px rgba(183, 91, 34, 0.2);
}

.occ_titles-controls .button-primary:hover,
.occ_titles-controls .button-primary:focus {
		background: linear-gradient(135deg, #a24f1b 0%, #7c2d12 100%);
		border-color: #7c2d12;
}

.occ_titles-control-actions .button:not(.button-primary) {
		border-color: rgba(183, 91, 34, 0.16);
		background: #fffaf5;
		color: var(--occ-results-accent-strong);
}

.occ_titles-guidance {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
		gap: 10px;
}

.occ_titles-guidance-card {
		background: linear-gradient(180deg, #fff 0%, #fcfcfb 100%);
		border: 1px solid rgba(183, 91, 34, 0.12);
		border-radius: 14px;
		padding: 12px;
		font-size: 12px;
		color: #1f2937;
		box-shadow: 0 10px 20px rgba(15, 23, 42, 0.04);
}

.occ_titles-guidance-card strong {
		color: var(--occ-results-accent-strong);
}

.occ_titles-controls-toggle {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		font-size: 12px;
}

.occ_titles-controls-toggle.button {
		border-color: rgba(183, 91, 34, 0.14);
		background: #fffaf5;
		color: var(--occ-results-accent-strong);
}

.occ_titles-controls-toggle.button:hover,
.occ_titles-controls-toggle.button:focus {
		border-color: rgba(183, 91, 34, 0.3);
		background: #fff1e5;
		color: #7c2d12;
}

.occ_titles-controls-toggle::before {
		content: '▾';
		font-size: 12px;
}

.occ_titles-controls-toggle[aria-expanded="false"]::before {
		content: '▸';
}

.occ_titles-controls.is-collapsed .occ_titles-control-row,
.occ_titles-controls.is-collapsed .occ_titles-controls-help,
.occ_titles-controls.is-collapsed .occ_titles-keywords-panel {
		display: none;
}

.occ_titles-controls.is-collapsed {
		padding: 7px 10px;
}

.occ_titles-results.is-collapsed .occ_titles-controls,
.occ_titles-results.is-collapsed .occ_titles-top-picks,
.occ_titles-results.is-collapsed .occ_titles-breakdown,
.occ_titles-results.is-collapsed .occ_titles-guidance,
.occ_titles-results.is-collapsed .occ_titles-table,
.occ_titles-results.is-collapsed .occ_titles-error-panel {
		display: none;
}

.occ_titles-current-badge {
		display: inline-flex;
		align-items: center;
		margin-left: 6px;
		padding: 4px 8px;
		border-radius: 999px;
		background: #f3f4f6;
		color: #475569;
		font-size: 10px;
		font-weight: 700;
		letter-spacing: 0.05em;
		text-transform: uppercase;
}

.occ_titles-applied-label.is-visible {
		display: inline-flex;
		align-items: center;
		background: var(--occ-results-accent-soft);
		color: var(--occ-results-accent-strong);
		border-radius: 999px;
		padding: 4px 10px;
		font-size: 12px;
}

.occ_titles-keywords-panel {
		flex: 1;
}

.occ_titles-keyword-list {
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
}

.occ_titles-keyword-chip {
		border: 1px solid rgba(183, 91, 34, 0.16);
		background: #fffaf5;
		border-radius: 999px;
		padding: 5px 10px;
		font-size: 11px;
		color: var(--occ-results-accent-strong);
		cursor: pointer;
		transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.occ_titles-keyword-chip:hover,
.occ_titles-keyword-chip:focus {
		border-color: rgba(183, 91, 34, 0.34);
		background: #fff1e5;
		transform: translateY(-1px);
}

.occ_titles-keyword-chip.is-selected {
		border-color: rgba(183, 91, 34, 0.34);
		background: var(--occ-results-accent-soft);
		color: var(--occ-results-accent-strong);
}

.occ_titles-top-picks {
		display: grid;
		gap: 8px;
}

.occ_titles-pick-card {
		display: grid;
		gap: 8px;
		padding: 12px;
		border: 1px solid rgba(183, 91, 34, 0.12);
		border-radius: 12px;
		background: linear-gradient(180deg, #fff 0%, #fcfcfb 100%);
		box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.occ_titles-pick-card.is-best {
		border-color: rgba(183, 91, 34, 0.24);
		box-shadow: 0 12px 28px rgba(183, 91, 34, 0.08);
}

.occ_titles-pick-card.is-applied {
		border-color: rgba(22, 101, 52, 0.28);
		box-shadow: inset 3px 0 0 #15803d;
}

.occ_titles-pick-card.is-loading {
		opacity: 0.6;
}

.occ_titles-pick-head {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 8px;
}

.occ_titles-pick-rank-wrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px;
}

.occ_titles-pick-rank {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 30px;
		padding: 4px 8px;
		border-radius: 999px;
		background: #f8ebe0;
		color: var(--occ-results-accent-strong);
		font-size: 11px;
		font-weight: 700;
}

.occ_titles-pick-score {
		display: flex;
		align-items: center;
		gap: 8px;
}

.occ_titles-pick-title {
		border: none;
		background: none;
		text-align: left;
		padding: 0;
		font-size: 16px;
		font-weight: 650;
		line-height: 1.35;
		color: var(--occ-results-ink);
		cursor: pointer;
}

.occ_titles-pick-title:hover,
.occ_titles-pick-title:focus {
		color: var(--occ-results-accent-strong);
}

.occ_titles-pick-metrics {
		display: flex;
		flex-wrap: wrap;
		gap: 5px;
}

.occ_titles-pick-why {
		font-size: 12px;
		line-height: 1.5;
		color: var(--occ-results-muted);
}

.occ_titles-pick-why strong {
		color: var(--occ-results-ink);
}

.occ_titles-pick-meter {
		display: grid;
		gap: 6px;
}

.occ_titles-pick-meter-meta {
		font-size: 11px;
		color: var(--occ-results-muted);
}

.occ_titles-pick-actions {
		margin-top: 0;
}

.occ_titles-pick-iterate {
		margin-top: -2px;
}

.occ_titles-pick-card.is-compact {
		gap: 6px;
		padding: 10px 12px;
}

.occ_titles-pick-card.is-compact .occ_titles-pick-title {
		font-size: 14px;
		line-height: 1.35;
}

.occ_titles-pick-card.is-compact .occ_titles-pick-actions .button {
		height: 32px;
		padding: 0 12px;
}

.occ_titles-more-picks {
		border: 1px solid rgba(183, 91, 34, 0.12);
		border-radius: 12px;
		background: rgba(255, 255, 255, 0.92);
		overflow: hidden;
}

.occ_titles-more-picks-summary {
		position: relative;
		display: grid;
		gap: 2px;
		padding: 10px 12px;
		cursor: pointer;
		list-style: none;
}

.occ_titles-more-picks-summary::-webkit-details-marker {
		display: none;
}

.occ_titles-more-picks-summary::before {
		content: '▸';
		position: absolute;
		right: 12px;
		top: 12px;
		color: var(--occ-results-accent-strong);
		font-size: 12px;
}

.occ_titles-more-picks[open] .occ_titles-more-picks-summary::before {
		content: '▾';
}

.occ_titles-more-picks-title {
		display: block;
		font-size: 13px;
		font-weight: 700;
		color: var(--occ-results-ink);
}

.occ_titles-more-picks-meta {
		display: block;
		padding-right: 18px;
		font-size: 11px;
		line-height: 1.45;
		color: var(--occ-results-muted);
}

.occ_titles-more-picks-body {
		display: grid;
		gap: 8px;
		padding: 0 10px 10px;
		border-top: 1px solid rgba(183, 91, 34, 0.08);
	}

.occ_titles-breakdown {
		border: 1px solid rgba(183, 91, 34, 0.12);
		border-radius: 14px;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
		overflow: hidden;
}

.occ_titles-breakdown-summary {
		position: relative;
		display: grid;
		gap: 2px;
		padding: 14px 16px;
		cursor: pointer;
		list-style: none;
}

.occ_titles-breakdown-summary::-webkit-details-marker {
		display: none;
}

.occ_titles-breakdown-summary::before {
		content: '▸';
		position: absolute;
		right: 16px;
		top: 16px;
		color: var(--occ-results-accent-strong);
		font-size: 12px;
}

.occ_titles-breakdown[open] .occ_titles-breakdown-summary::before {
		content: '▾';
}

.occ_titles-breakdown-title {
		display: block;
		color: var(--occ-results-ink);
		font-size: 14px;
		font-weight: 700;
}

.occ_titles-breakdown-meta {
		display: block;
		color: var(--occ-results-muted);
		font-size: 12px;
		line-height: 1.5;
}

.occ_titles-breakdown-body {
		display: grid;
		gap: 12px;
		padding: 0 16px 16px;
		border-top: 1px solid rgba(183, 91, 34, 0.08);
	}

.occ_titles-breakdown-actions {
		padding-top: 14px;
}

.occ_titles-table th,
.occ_titles-table td {
		vertical-align: top;
		padding: 12px 10px;
}

.occ_titles-table {
		border: 1px solid var(--occ-results-border);
		border-radius: 14px;
		overflow: hidden;
		background: #fff;
		box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.occ_titles-table thead th {
		background: #fbf7f1;
		color: var(--occ-results-muted);
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
}

.occ_titles-table tbody tr {
		border-top: 1px solid #edf2f7;
		background: #fff;
		transition: background-color 0.18s ease;
}

.occ_titles-table tbody tr:hover {
		background: #fffaf5;
}

.occ_titles-row.is-best {
		background: linear-gradient(90deg, rgba(183, 91, 34, 0.1), rgba(255, 255, 255, 0.98) 24%);
		box-shadow: inset 4px 0 0 var(--occ-results-accent);
}

.occ_titles-row.is-applied {
		background: linear-gradient(90deg, rgba(183, 91, 34, 0.14), rgba(255, 251, 245, 0.98) 24%);
		box-shadow: inset 4px 0 0 #15803d;
}

.occ_titles-row.is-loading {
		opacity: 0.6;
}

.occ_titles-col-rank {
		width: 80px;
		white-space: nowrap;
}

.occ_titles-rank {
		display: inline-block;
		font-weight: 700;
		font-size: 14px;
}

.occ_titles-best-badge {
		display: inline-flex;
		margin-top: 6px;
		padding: 4px 9px;
		border-radius: 999px;
		background: linear-gradient(135deg, #b75b22 0%, #8a3412 100%);
		color: #fff;
		font-size: 10px;
		text-transform: uppercase;
		letter-spacing: 0.04em;
}

.occ_titles-title-link {
		border: none;
		background: none;
		text-align: left;
		padding: 0;
		font-size: 15px;
		font-weight: 600;
		color: var(--occ-results-ink);
		cursor: pointer;
		line-height: 1.4;
}

.occ_titles-title-link:hover,
.occ_titles-title-link:focus {
		color: var(--occ-results-accent-strong);
}

.occ_titles-title-actions {
		margin-top: 8px;
		display: flex;
		align-items: center;
		gap: 8px;
		flex-wrap: wrap;
}

.occ_titles-title-actions .button-primary {
		background: linear-gradient(135deg, #b75b22 0%, #8a3412 100%);
		border-color: #8a3412;
		box-shadow: 0 10px 20px rgba(183, 91, 34, 0.18);
}

.occ_titles-title-actions .button-primary:hover,
.occ_titles-title-actions .button-primary:focus {
		background: linear-gradient(135deg, #a24f1b 0%, #7c2d12 100%);
		border-color: #7c2d12;
}

.occ_titles-title-actions .button:not(.button-primary) {
		border-color: rgba(183, 91, 34, 0.16);
		background: #fffaf5;
		color: var(--occ-results-accent-strong);
}

.occ_titles-applied-label {
		font-size: 11px;
		text-transform: uppercase;
		color: var(--occ-results-accent-strong);
		font-weight: 600;
		display: none;
}

.occ_titles-row.is-applied .occ_titles-applied-label {
		display: inline-flex;
}

.occ_titles-iterate {
		margin-top: 6px;
		display: flex;
		gap: 8px;
		flex-wrap: wrap;
}

.occ_titles-iterate-btn {
		border: 1px solid rgba(183, 91, 34, 0.14);
		background: #fffaf5;
		color: var(--occ-results-accent-strong);
		cursor: pointer;
		font-size: 12px;
		padding: 5px 10px;
		border-radius: 999px;
		font-weight: 600;
}

.occ_titles-iterate-btn:hover,
.occ_titles-iterate-btn:focus {
		border-color: rgba(183, 91, 34, 0.28);
		background: #fff1e5;
}

.occ_titles-score-meter {
		position: relative;
		width: 100%;
		height: 8px;
		background: #f1e8dc;
		border-radius: 999px;
		overflow: hidden;
}

.occ_titles-score-meter span {
		display: block;
		height: 100%;
		background: linear-gradient(90deg, #b75b22, #f59e0b, #22c55e);
}

.occ_titles-score-value {
		margin-top: 5px;
		font-weight: 700;
		font-size: 13px;
}

.occ_titles-grade {
		margin-top: 5px;
		display: inline-flex;
		padding: 2px 8px;
		border-radius: 999px;
		font-size: 10px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
}

.occ_titles-grade-a {
		background: #e7f7ed;
		color: #0a6b2d;
}

.occ_titles-grade-b {
		background: #fff1e5;
		color: var(--occ-results-accent-strong);
}

.occ_titles-grade-c {
		background: #fff3cd;
		color: #8a6100;
}

.occ_titles-chips {
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
}

.occ_titles-chip {
		background: #fbf7f1;
		border: 1px solid rgba(183, 91, 34, 0.1);
		border-radius: 999px;
		padding: 4px 9px;
		font-size: 11px;
		color: var(--occ-results-ink);
}

.occ_titles-col-insights .occ_titles-chips {
		gap: 8px;
}

.occ_titles-signal-breakdown {
		margin-bottom: 8px;
		font-size: 12px;
		color: var(--occ-results-muted);
}

.occ_titles-gate.is-pass {
		background: #e7f7ed;
		color: #0a6b2d;
}

.occ_titles-gate.is-warning {
		background: #fff3cd;
		color: #8a6100;
}

.occ_titles-serp {
		border: 1px solid rgba(183, 91, 34, 0.12);
		border-radius: 8px;
		padding: 7px 9px;
		background: linear-gradient(180deg, #fff 0%, #fcfcfb 100%);
}

.occ_titles-serp-url {
		font-size: 11px;
		color: var(--occ-results-muted);
		margin-bottom: 2px;
}

.occ_titles-serp-title {
		font-size: 14px;
		color: #8a3412;
		font-weight: 600;
		margin-bottom: 4px;
}

.occ_titles-serp-desc {
		font-size: 12px;
		color: var(--occ-results-muted);
}

.occ_titles-serp-meter {
		margin-top: 6px;
		height: 6px;
		background: #e5e7eb;
		border-radius: 999px;
		overflow: hidden;
}

.occ_titles-serp-meter span {
		display: block;
		height: 100%;
		background: linear-gradient(90deg, #22c55e, #f59e0b, #ef4444);
}

.occ_titles-serp-meta {
		margin-top: 4px;
		font-size: 11px;
		color: var(--occ-results-muted);
}

.occ_titles-discover-card {
		border: 1px solid rgba(183, 91, 34, 0.12);
		border-radius: 14px;
		overflow: hidden;
		background: #fff;
		box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.occ_titles-discover-image {
		background: linear-gradient(135deg, #ffe4cc, #f0f5ff);
		height: 120px;
		position: relative;
		display: flex;
		align-items: flex-end;
		padding: 10px 12px;
}

.occ_titles-discover-image-label {
		display: inline-flex;
		align-items: center;
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		background: rgba(15, 23, 42, 0.75);
		color: #fff;
		padding: 4px 8px;
		border-radius: 999px;
}

.occ_titles-discover-body {
		padding: 10px 12px 12px;
}

.occ_titles-discover-meta {
		display: flex;
		align-items: center;
		gap: 6px;
		font-size: 11px;
		color: #64748b;
		margin-bottom: 8px;
}

.occ_titles-discover-favicon {
		width: 18px;
		height: 18px;
		border-radius: 50%;
		background: var(--occ-results-accent-strong);
		color: #fff;
		font-size: 11px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-weight: 700;
}

.occ_titles-discover-source {
		font-weight: 600;
		color: #1f2937;
}

.occ_titles-discover-dot {
		font-size: 12px;
		color: #94a3b8;
}

.occ_titles-discover-time {
		color: #64748b;
}

.occ_titles-discover-title {
		font-size: 15px;
		font-weight: 700;
		color: #0f172a;
		margin-bottom: 6px;
		line-height: 1.3;
}

.occ_titles-discover-desc {
		font-size: 12px;
		color: #64748b;
}

.occ_titles-error-panel {
		background: #fff7ed;
		border: 1px solid #fed7aa;
		border-radius: 14px;
		padding: 12px 14px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		margin-bottom: 15px;
}

.occ_titles-error-content {
		color: #9a3412;
		font-size: 13px;
}

.occ_titles-error-actions .button {
		white-space: nowrap;
}

.occ_titles-footer {
		display: grid;
		gap: 10px;
}

.occ_titles-footer-actions {
		display: flex;
		gap: 10px;
}

.occ_titles-more-controls {
		display: flex;
		align-items: center;
		gap: 10px;
		flex-wrap: wrap;
}

.occ_titles-more-controls label {
		font-weight: 600;
}

@media screen and (max-width: 960px) {
		.occ_titles-settings-layout,
		.occ_titles-settings-hero,
		.occ_titles-settings-header,
		.occ_titles-results-header {
				flex-direction: column;
		}

		.occ_titles-settings-hero,
		.occ_titles-settings-layout {
				grid-template-columns: 1fr;
		}

		.occ_titles-settings-card-grid,
		.occ_titles-settings-facts,
		.occ_titles-voice-grid {
				grid-template-columns: 1fr;
		}

		.occ_titles-settings-submit {
				flex-direction: column;
				align-items: flex-start;
		}

		.occ_titles-results-actions,
		.occ_titles-controls-header {
				width: 100%;
		}

		.occ_titles-results-actions {
				align-items: stretch;
				justify-content: flex-start;
		}

		.occ_titles-results-bulk-actions {
				justify-content: flex-start;
		}

		.occ_titles-results-utility {
				padding-left: 0;
		}

		.occ_titles-settings-actions {
				width: 100%;
		}

		.occ_titles-pick-head {
				flex-direction: column;
				align-items: flex-start;
		}

		.occ_titles-col-keywords {
				display: none;
		}
}

@media screen and (max-width: 782px) {
		.occ_titles-settings-hero,
		.occ_titles-settings-card,
		.occ_titles-settings-sidebar-card,
		.occ_titles-settings-submit {
				padding: 20px;
		}

		.occ_titles-settings-title {
				font-size: 30px;
		}

		.occ_titles-settings-card-copy h2,
		.occ_titles-settings-sidebar-card h2,
		.occ_titles-settings-submit-copy h2 {
				font-size: 21px;
		}

		.occ_titles-settings-checklist li {
				grid-template-columns: 1fr;
		}

		.occ_titles-settings-checklist-detail {
				grid-column: 1;
				grid-row: auto;
		}

		.occ_titles-post-type-card {
				grid-template-columns: 1fr;
		}

		.occ_titles-post-type-card-state {
				justify-self: flex-start;
		}
}

/* ======================================= */
/* ===== Miscellaneous Styles ============ */
/* ======================================= */
.block-editor-page #occ_titles_block_wrapper {
		min-width: 100%;
}

#occ_titles_svg_button {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			margin: 12px 0 0;
			padding: 0;
			position: static;
			transform: none;
			background: none;
			border: none;
			box-shadow: none;
			cursor: pointer;
}

.block-editor-page #occ_titles_svg_button.occ_titles_header_button {
			margin: 0 10px 0 0;
			padding: 0 12px 0 10px;
			width: auto;
			height: 38px;
			border: 1px solid #d9ddd8;
			border-radius: 10px;
			background: linear-gradient(180deg, #ffffff 0%, #f5efe4 100%);
			box-shadow: 0 8px 18px rgba(89, 74, 44, 0.12);
			flex: 0 0 auto;
			gap: 8px;
			white-space: nowrap;
}

#occ_titles_generate_button img,
#occ_titles_svg_button img,
.occ_titles_sparkle_icon {
			display: block;
}

#occ_titles_generate_button img {
			height: 30px;
			width: 30px;
}

.block-editor-page #occ_titles_svg_button img {
			height: 52px;
			width: 52px;
}

.block-editor-page #occ_titles_svg_button.occ_titles_header_button img {
			height: 20px;
			width: 20px;
}

.occ_titles_header_button_label {
			font-size: 13px;
			font-weight: 600;
			line-height: 1;
			color: #1f2937;
}

#occ_titles_svg_button:focus-visible {
			outline: 2px solid #0f766e;
			outline-offset: 4px;
			border-radius: 12px;
}

.block-editor-page #occ_titles_table_container {
		margin-left: 0;
		margin-right: auto;
}

select#occ_titles_style {
		max-width: 200px;
}

.occ-titles-spinner-container {
		display: flex;
		align-items: center;
		margin-top: 5px;
		background-color: rgba(0, 0, 0, 0.1);
		padding: 5px;
		border-radius: 4px;
}

.occ-titles-spinner {
		margin-right: 10px;
		width: 16px;
		height: 16px;
		border: 2px solid #ccc;
		border-top: 2px solid #000;
		border-radius: 50%;
		animation: occ-titles-spin 1s linear infinite;
}

.occ-titles-spinner-message {
		font-size: 14px;
		color: #000;
}


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

/* Hide duplicate error message */
#setting-error-invalid-api-key.notice:nth-of-type(2) {
		display: none;
}

/* Metabox Styles */
#occ_titles_meta_box {
		display: none;
		border: 1px solid #ddd;
		background: #f9f9f9;
		padding: 15px;
		margin-top: 20px;
}

#occ_titles_meta_box .postbox-header h2 {
		margin: 0;
		font-size: 18px;
}

#occ_titles_meta_box .inside {
		padding: 15px;
}

/* ===== Controls Container Styles ===== */
#occ_titles_controls_container {
		padding: 20px;
		border: 1px solid #e3e3e3;
		border-radius: 8px;
		background-color: #f9f9f9;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
		max-width: 600px;
		margin: 20px auto;
		display:none;
}

/* ===== Revert Button Styles ===== */
.occ-titles-revert-button {
		background-color: #007cba;
		color: #fff;
		border: none;
		padding: 10px 20px;
		border-radius: 4px;
		font-size: 14px;
		cursor: pointer;
		display: flex;
		align-items: center;
		transition: background-color 0.3s ease;
}

.occ-titles-revert-button:hover {
		background-color: #005a87;
}

/* ===== Icon Styles ===== */
.dashicons {
		font-size: 16px;
		margin-right: 5px;
}

/* ===== Controls Wrapper Styles ===== */
#occ_titles--controls-wrapper {
		display: flex;
		align-items: center;
		gap: 10px;
		margin: 20px 0;
}

.occ_titles_style_label {
		font-weight: bold;
		font-size: 14px;
}

/* ===== Dropdown Styles ===== */
.occ_titles_style_dropdown {
		padding: 8px;
		height: 38px;
		border: 1px solid #ddd;
		border-radius: 4px;
		font-size: 14px;
		background-color: #fff;
		box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
		transition: border-color 0.3s ease;
}

.occ_titles_style_dropdown:focus {
		border-color: #007cba;
		outline: none;
}

/* ===== Generate Button Styles ===== */
#occ_titles_button {
		padding: 10px 20px;
		background-color: #28a745;
		color: #fff;
		border: none;
		border-radius: 4px;
		cursor: pointer;
		font-size: 14px;
		transition: background-color 0.3s ease;
}

#occ_titles_button:hover {
		background-color: #218838;
}

/* ===== Keywords Display Styles ===== */
.occ_keywords_display {
		margin-top: 20px;
		font-weight: bold;
		background-color: #f1f1f1;
		border: 1px solid #ddd;
		border-radius: 8px;
		padding: 15px;
		font-size: 14px;
		color: #333;
}

/* ======================================= */
/* ===== Title Help Page ================= */
/* ======================================= */
.occ_titles_help {
		--occ-help-bg: #fbf7f1;
		--occ-help-border: #d8dee7;
		--occ-help-text: #0f172a;
		--occ-help-muted: #526071;
		--occ-help-brand: #8a3412;
		--occ-help-brand-soft: #fff1e5;
		--occ-help-warning-bg: #fff6ec;
		--occ-help-warning-border: #ffd5a3;
		max-width: 1500px;
		width: 100%;
		margin: 20px auto 0;
		padding-left: 18px;
		padding-right: 18px;
		box-sizing: border-box;
		color: var(--occ-help-text);
}

.occ_titles_help__hero {
		display: grid;
		grid-template-columns: minmax(0, 1.7fr) minmax(300px, 360px);
		gap: 20px;
		background:
			radial-gradient(circle at top right, rgba(255, 212, 178, 0.65), transparent 34%),
			linear-gradient(135deg, #fffaf4 0%, #fff 48%, #f8fbff 100%);
		border: 1px solid var(--occ-help-border);
		border-radius: 22px;
		padding: 28px;
		box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
}

.occ_titles_help__eyebrow {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		padding: 6px 10px;
		border-radius: 999px;
		background: var(--occ-help-brand-soft);
		color: var(--occ-help-brand);
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		margin: 0 0 10px;
}

.occ_titles_help__hero h1 {
		margin: 0 0 8px;
		font-size: 36px;
		line-height: 1.2;
}

.occ_titles_help__hero p {
		margin: 0;
		color: var(--occ-help-muted);
		font-size: 16px;
		line-height: 1.6;
		max-width: 76ch;
}

.occ_titles_help__hero_actions {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin-top: 16px;
}

.occ_titles_help__hero_stats {
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
}

.occ_titles_help__stat_card {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 14px;
		background: #fff;
		border: 1px solid var(--occ-help-border);
		border-radius: 14px;
		min-height: 88px;
		box-shadow: 0 10px 22px rgba(15, 23, 42, 0.04);
}

.occ_titles_help__stat_value {
		font-size: 26px;
		line-height: 1.1;
		font-weight: 800;
		color: var(--occ-help-brand);
}

.occ_titles_help__stat_label {
		margin-top: 4px;
		font-size: 12px;
		color: var(--occ-help-muted);
}

.occ_titles_help__section {
		margin-top: 18px;
		background: #fff;
		border: 1px solid var(--occ-help-border);
		border-radius: 18px;
		padding: 24px;
		box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.occ_titles_help__section_header h2 {
		margin: 0;
		font-size: 24px;
		line-height: 1.3;
}

.occ_titles_help__section_header p {
		margin: 8px 0 0;
		font-size: 14px;
		color: var(--occ-help-muted);
		line-height: 1.5;
}

.occ_titles_help__timeline {
		margin: 14px 0 0;
		padding-left: 22px;
		display: grid;
		gap: 10px;
}

.occ_titles_help__timeline li {
		font-size: 14px;
		line-height: 1.5;
}

.occ_titles_help__step_grid {
		margin-top: 14px;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
		gap: 14px;
}

.occ_titles_help__step_card {
		background: linear-gradient(180deg, #fff 0%, #fcfcfb 100%);
		border: 1px solid var(--occ-help-border);
		border-radius: 14px;
		padding: 18px;
		display: flex;
		flex-direction: column;
		gap: 10px;
}

.occ_titles_help__step_head {
		display: flex;
		flex-direction: column;
		gap: 8px;
}

.occ_titles_help__step_badge {
		display: inline-flex;
		align-items: center;
		width: fit-content;
		padding: 5px 10px;
		border-radius: 999px;
		background: var(--occ-help-brand-soft);
		color: var(--occ-help-brand);
		font-size: 11px;
		text-transform: uppercase;
		font-weight: 700;
		letter-spacing: 0.05em;
}

.occ_titles_help__step_card h3 {
		margin: 0;
		font-size: 17px;
		line-height: 1.35;
}

.occ_titles_help__step_card p {
		margin: 0;
		font-size: 14px;
		line-height: 1.55;
		color: var(--occ-help-muted);
}

.occ_titles_help__step_focus {
		padding: 10px;
		border-left: 3px solid var(--occ-help-brand);
		background: #fff4ea;
		border-radius: 0 8px 8px 0;
}

.occ_titles_help__media {
		margin: 0;
		border: 1px solid #d0d9e2;
		border-radius: 8px;
		overflow: hidden;
		background: #fff;
}

.occ_titles_help__media img {
		display: block;
		width: 100%;
		height: auto;
}

.occ_titles_help__media figcaption {
		padding: 8px 10px;
		font-size: 12px;
		color: #61707f;
		background: #f8fbfe;
		border-top: 1px solid #d0d9e2;
}

.occ_titles_help__glossary {
		margin-top: 14px;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
		gap: 12px;
}

.occ_titles_help__glossary_item {
		background: #fff;
		border: 1px solid var(--occ-help-border);
		border-radius: 12px;
		padding: 14px;
		min-height: 150px;
}

.occ_titles_help__glossary_meta {
		margin-bottom: 8px;
		display: inline-flex;
		padding: 4px 8px;
		border-radius: 999px;
		font-size: 10px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		background: var(--occ-help-brand-soft);
		color: var(--occ-help-brand);
}

.occ_titles_help__glossary_item h3 {
		margin: 0 0 6px;
		font-size: 16px;
		line-height: 1.35;
}

.occ_titles_help__glossary_item p {
		margin: 0;
		font-size: 13px;
		line-height: 1.55;
		color: var(--occ-help-muted);
}

.occ_titles_help__two_col {
		margin-top: 14px;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
		gap: 12px;
}

.occ_titles_help__panel {
		background: #fff;
		border: 1px solid var(--occ-help-border);
		border-radius: 12px;
		padding: 18px;
}

.occ_titles_help__panel h3 {
		margin: 0 0 10px;
		font-size: 18px;
}

.occ_titles_help__panel ul {
		margin: 0;
		padding-left: 20px;
		display: grid;
		gap: 8px;
}

.occ_titles_help__panel li {
		font-size: 14px;
		line-height: 1.5;
}

.occ_titles_help__panel_warning {
		background: var(--occ-help-warning-bg);
		border-color: var(--occ-help-warning-border);
}

@media screen and (max-width: 960px) {
		.occ_titles_help__hero {
				grid-template-columns: 1fr;
		}

		.occ_titles_help__hero h1 {
				font-size: 30px;
		}
}
