/**
 * Gourmet Writers — front-end styles. Mobile-first: base rules target small
 * screens, with min-width breakpoints widening the layout for tablet/
 * desktop. Every selector is scoped under .gfw-wrap so nothing here can
 * collide with the active theme's own styles.
 */

.gfw-wrap {
	--gfw-primary: #a3432e;
	--gfw-primary-dark: #7a2f1f;
	--gfw-text: #1d2327;
	--gfw-muted: #646970;
	--gfw-border: #dcdcde;
	--gfw-bg-card: #ffffff;
	--gfw-bg-page: #f8f6f4;
	max-width: 1100px;
	margin: 0 auto;
	padding: 24px 16px 48px;
	color: var( --gfw-text );
	font-size: 16px;
	line-height: 1.65;
	box-sizing: border-box;
}
.gfw-wrap *, .gfw-wrap *::before, .gfw-wrap *::after { box-sizing: inherit; }

.gfw-wrap h1 { font-size: 1.9em; margin: 0 0 8px; }
.gfw-wrap h2 { font-size: 1.3em; margin: 28px 0 12px; }
.gfw-wrap h3 { font-size: 1.05em; margin: 16px 0 6px; }

.gfw-notice { padding: 12px 16px; border-radius: 6px; margin: 0 0 18px; font-weight: 500; }
.gfw-notice-success { background: #e6f6ea; color: #1d6b34; border: 1px solid #bfe6c9; }
.gfw-notice-error   { background: #fdeceb; color: #7a2420; border: 1px solid #f3c5c1; }
.gfw-notice-info    { background: #f3ece9; color: #5a3a2c; border: 1px solid #e2cfc5; }

.gfw-btn { display: inline-block; padding: 12px 22px; border-radius: 6px; border: 0; font-size: 1em; font-weight: 600; text-decoration: none; cursor: pointer; text-align: center; }
.gfw-btn-primary { background: var( --gfw-primary ); color: #fff; }
.gfw-btn-primary:hover, .gfw-btn-primary:focus-visible { background: var( --gfw-primary-dark ); color: #fff; }
.gfw-btn-secondary { background: #fff; color: var( --gfw-primary ); box-shadow: inset 0 0 0 1.5px var( --gfw-primary ); }
.gfw-btn-link { background: none; border: 0; color: var( --gfw-primary ); text-decoration: underline; cursor: pointer; padding: 4px 0; font-size: 0.92em; }
.gfw-btn-danger { color: #a33; }

.gfw-form-grid, .gfw-auth-form form { display: flex; flex-direction: column; gap: 6px; max-width: 720px; }
.gfw-form-grid label, .gfw-auth-form label { font-weight: 600; margin-top: 10px; }
.gfw-form-grid input[type="text"], .gfw-form-grid input[type="email"], .gfw-form-grid input[type="tel"],
.gfw-form-grid input[type="url"], .gfw-form-grid input[type="file"], .gfw-form-grid select, .gfw-form-grid textarea,
.gfw-auth-form input[type="text"], .gfw-auth-form input[type="email"], .gfw-auth-form input[type="password"] {
	width: 100%; padding: 11px 13px; border: 1px solid var( --gfw-border ); border-radius: 6px; font: inherit; background: #fff; color: var( --gfw-text );
}
.gfw-form-grid textarea { resize: vertical; }
.gfw-form-grid fieldset { border: 1px solid var( --gfw-border ); border-radius: 6px; padding: 12px 14px; margin-top: 10px; }
.gfw-form-grid legend { font-weight: 600; padding: 0 6px; }
.gfw-inline-checkbox { display: inline-flex; align-items: center; gap: 6px; font-weight: 400; margin: 4px 14px 4px 0; }
.gfw-field-row { display: flex; flex-direction: column; gap: 10px; }
.gfw-editor-actions { display: flex; gap: 10px; margin-top: 18px; }

.gfw-filters { background: var( --gfw-bg-page ); border-radius: 8px; padding: 16px; margin-bottom: 24px; }
.gfw-filters-row { display: flex; flex-direction: column; gap: 10px; }
.gfw-filters-row input, .gfw-filters-row select { width: 100%; padding: 10px 12px; border: 1px solid var( --gfw-border ); border-radius: 6px; font: inherit; }

.gfw-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
.gfw-card { background: var( --gfw-bg-card ); border: 1px solid var( --gfw-border ); border-radius: 8px; overflow: hidden; }
.gfw-card-thumb img { width: 100%; height: auto; display: block; }
.gfw-card-body { padding: 14px 16px; }
.gfw-card-title { margin: 6px 0 8px; font-size: 1.1em; }
.gfw-card-title a { color: var( --gfw-text ); text-decoration: none; }
.gfw-card-title a:hover { color: var( --gfw-primary ); }
.gfw-card-excerpt { color: var( --gfw-muted ); font-size: 0.94em; }
.gfw-card-meta { display: flex; flex-wrap: wrap; gap: 10px; font-size: 0.85em; color: var( --gfw-muted ); margin-top: 10px; }
.gfw-tag { display: inline-block; background: var( --gfw-bg-page ); border-radius: 999px; padding: 2px 10px; font-size: 0.78em; color: var( --gfw-muted ); }

.gfw-table-wrap { overflow-x: auto; }
.gfw-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.gfw-table th, .gfw-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var( --gfw-border ); font-size: 0.92em; }
.gfw-table th { color: var( --gfw-muted ); font-weight: 600; text-transform: uppercase; font-size: 0.78em; }
.gfw-status { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 0.78em; font-weight: 600; background: #f0f0f1; }
.gfw-status-publish { background: #d4f4dd; color: #1d6b34; }
.gfw-status-pending { background: #fff3cd; color: #7a5b00; }
.gfw-status-draft { background: #eee; color: #555; }
.gfw-status-gfw_rejected { background: #fbe1e1; color: #8a1f1f; }
.gfw-status-gfw_revision { background: #dde7fb; color: #1e3f8f; }
.gfw-status-gfw_unpublished { background: #eee; color: #555; }
.gfw-reason { font-size: 0.82em; color: var( --gfw-muted ); margin-top: 4px; max-width: 320px; }
.gfw-row-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.gfw-inline-form { display: inline; }

.gfw-dashboard-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.gfw-dashboard-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; border-bottom: 1px solid var( --gfw-border ); }
.gfw-tab { padding: 10px 14px; text-decoration: none; color: var( --gfw-muted ); border-bottom: 2px solid transparent; }
.gfw-tab.is-active { color: var( --gfw-primary ); border-bottom-color: var( --gfw-primary ); font-weight: 600; }
.gfw-tab-count { font-size: 0.82em; }

.gfw-article-header { margin-bottom: 18px; }
.gfw-article-byline { display: flex; gap: 12px; align-items: center; margin-top: 12px; }
.gfw-writer-name { font-weight: 600; color: var( --gfw-text ); text-decoration: none; }
.gfw-article-meta { display: flex; flex-wrap: wrap; gap: 10px; color: var( --gfw-muted ); font-size: 0.88em; }
.gfw-featured-image img { width: 100%; height: auto; border-radius: 8px; margin: 16px 0; }
.gfw-article-content { font-size: 1.05em; }
.gfw-gallery { display: grid; grid-template-columns: repeat( 2, 1fr ); gap: 10px; margin: 20px 0; }
.gfw-gallery img { width: 100%; border-radius: 6px; }
.gfw-video-embed { position: relative; padding-bottom: 56.25%; height: 0; margin: 20px 0; }
.gfw-video-embed iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 8px; }
.gfw-article-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.gfw-article-business { font-style: italic; color: var( --gfw-muted ); margin-bottom: 16px; }
.gfw-writer-bio-box { display: flex; gap: 14px; background: var( --gfw-bg-page ); border-radius: 8px; padding: 18px; margin: 24px 0; align-items: flex-start; }

.gfw-writer-profile-header { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 24px; flex-wrap: wrap; }
.gfw-writer-social { display: flex; gap: 12px; margin-top: 10px; }
.gfw-empty { color: var( --gfw-muted ); padding: 24px 0; }

@media ( min-width: 680px ) {
	.gfw-filters-row { flex-direction: row; flex-wrap: wrap; align-items: center; }
	.gfw-filters-row > * { flex: 1 1 160px; }
	.gfw-filters-row button { flex: 0 0 auto; }
	.gfw-grid { grid-template-columns: repeat( 2, 1fr ); }
	.gfw-field-row { flex-direction: row; }
	.gfw-field-row > div { flex: 1; }
}
@media ( min-width: 960px ) {
	.gfw-grid { grid-template-columns: repeat( 3, 1fr ); }
}
@media ( prefers-reduced-motion: reduce ) {
	.gfw-wrap * { transition: none !important; }
}
