/* Maktub Components — Buttons, Cards, Forms, Badges */

/* -------------------------------------------------------------------------
   Buttons
------------------------------------------------------------------------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 24px;
	border-radius: var(--mk-radius-pill);
	font-family: var(--mk-font-serif);
	font-size: 0.95rem;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
	border: 2px solid transparent;
	transition: background var(--mk-transition), color var(--mk-transition),
	            border-color var(--mk-transition), transform var(--mk-transition),
	            box-shadow var(--mk-transition);
	line-height: 1.3;
	white-space: nowrap;
}
.btn:active { transform: translateY(1px); }

.btn--primary {
	background: var(--mk-pink);
	border-color: var(--mk-pink);
	color: #fff;
}
.btn--primary:hover {
	background: var(--mk-pink-dark);
	border-color: var(--mk-pink-dark);
	color: #fff;
	box-shadow: 0 4px 16px rgba(240,125,232,0.35);
}

.btn--outline {
	background: transparent;
	border-color: var(--mk-pink);
	color: var(--mk-pink-dark);
}
.btn--outline:hover {
	background: var(--mk-pink-light);
	color: var(--mk-pink-dark);
}

.btn--ghost {
	background: transparent;
	border-color: var(--mk-border);
	color: var(--mk-mid);
}
.btn--ghost:hover { background: var(--mk-cream-dark); color: var(--mk-dark); }

.btn--gold {
	background: var(--mk-gold);
	border-color: var(--mk-gold);
	color: #fff;
}
.btn--gold:hover { background: var(--mk-gold-dark); border-color: var(--mk-gold-dark); color: #fff; }

.btn--sm   { padding: 7px 16px; font-size: 0.85rem; }
.btn--lg   { padding: 14px 32px; font-size: 1.1rem; }
.btn--full { width: 100%; }

.btn:disabled, .btn[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* -------------------------------------------------------------------------
   Cards
------------------------------------------------------------------------- */
.card {
	background: var(--mk-white);
	border: 1px solid var(--mk-border);
	border-radius: var(--mk-radius-lg);
	padding: var(--mk-space-lg);
	box-shadow: var(--mk-shadow-sm);
}

.card--elevated {
	box-shadow: var(--mk-shadow-md);
}

.card--cream {
	background: var(--mk-cream);
}

.card--gold-accent {
	border-top: 3px solid var(--mk-gold);
}

.card--pink-accent {
	border-left: 3px solid var(--mk-pink);
}

/* -------------------------------------------------------------------------
   Forms
------------------------------------------------------------------------- */
.form-group { margin-bottom: var(--mk-space-md); }

.form-label {
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--mk-dark);
	margin-bottom: 5px;
}

.form-label--required::after {
	content: ' *';
	color: var(--mk-danger);
}

.form-input,
.form-textarea,
.form-select {
	width: 100%;
	padding: 10px 14px;
	border: 1.5px solid var(--mk-border);
	border-radius: var(--mk-radius-md);
	font-family: var(--mk-font-sans);
	font-size: 0.95rem;
	color: var(--mk-dark);
	background: var(--mk-white);
	box-sizing: border-box;
	transition: border-color var(--mk-transition), box-shadow var(--mk-transition);
	appearance: none;
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
	outline: none;
	border-color: var(--mk-pink);
	box-shadow: 0 0 0 3px rgba(240,125,232,0.15);
}

.form-input::placeholder,
.form-textarea::placeholder { color: var(--mk-muted); }

.form-textarea {
	resize: vertical;
	min-height: 100px;
	line-height: 1.6;
}

.form-hint {
	font-size: 0.8rem;
	color: var(--mk-muted);
	margin-top: 4px;
}

.form-error {
	font-size: 0.8rem;
	color: var(--mk-danger);
	margin-top: 4px;
}

/* WordPress comment form compatibility */
.comment-form .form-submit input[type="submit"],
.search-form .search-submit {
	appearance: none;
	display: inline-flex;
	align-items: center;
	padding: 11px 24px;
	border-radius: var(--mk-radius-pill);
	font-family: var(--mk-font-serif);
	font-size: 0.95rem;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
	border: 2px solid var(--mk-pink);
	background: var(--mk-pink);
	color: #fff;
	transition: background var(--mk-transition);
}
.comment-form .form-submit input[type="submit"]:hover,
.search-form .search-submit:hover { background: var(--mk-pink-dark); }

/* -------------------------------------------------------------------------
   Notices / Alerts
------------------------------------------------------------------------- */
.notice {
	padding: var(--mk-space-md) var(--mk-space-lg);
	border-radius: var(--mk-radius-md);
	font-size: 0.9rem;
	margin-bottom: var(--mk-space-md);
}
.notice p:last-child { margin: 0; }

.notice--info    { background: var(--mk-cream-dark); border-left: 3px solid var(--mk-gold);    color: var(--mk-brown); }
.notice--success { background: var(--mk-success-light); border-left: 3px solid var(--mk-success); color: #1b5e20; }
.notice--warning { background: var(--mk-warning-light); border-left: 3px solid #ffa000;         color: var(--mk-warning); }
.notice--error   { background: var(--mk-danger-light);  border-left: 3px solid var(--mk-danger); color: var(--mk-danger); }

/* -------------------------------------------------------------------------
   Badges
------------------------------------------------------------------------- */
.badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: var(--mk-radius-pill);
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.7px;
}
.badge--active   { background: var(--mk-success-light); color: var(--mk-success); }
.badge--pending  { background: var(--mk-warning-light); color: var(--mk-warning); }
.badge--paused   { background: var(--mk-info-light);    color: var(--mk-info); }
.badge--archived { background: #f5f5f5; color: #757575; }
.badge--closed   { background: var(--mk-danger-light);  color: var(--mk-danger); }
.badge--pink     { background: var(--mk-pink-light);    color: var(--mk-pink-dark); }
.badge--gold     { background: var(--mk-gold-light);    color: var(--mk-gold-dark); }

/* -------------------------------------------------------------------------
   Progress bar
------------------------------------------------------------------------- */
.progress {
	height: 10px;
	background: var(--mk-cream-dark);
	border-radius: var(--mk-radius-pill);
	overflow: hidden;
}
.progress__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--mk-pink), var(--mk-gold));
	border-radius: var(--mk-radius-pill);
	transition: width 0.6s ease;
}
.progress__label {
	font-size: 0.75rem;
	color: var(--mk-muted);
	margin-top: 4px;
	display: block;
}

/* -------------------------------------------------------------------------
   Widget base
------------------------------------------------------------------------- */
.widget { margin-bottom: var(--mk-space-lg); }
.widget-title {
	font-family: var(--mk-font-serif);
	font-size: 1rem;
	font-weight: 700;
	color: var(--mk-dark);
	margin-bottom: var(--mk-space-md);
	padding-bottom: var(--mk-space-sm);
	border-bottom: 1px solid var(--mk-border);
}
.widget ul { padding: 0; list-style: none; }
.widget li { padding: 4px 0; border-bottom: 1px solid var(--mk-cream-dark); }
.widget a  { color: var(--mk-mid); text-decoration: none; font-size: 0.9rem; }
.widget a:hover { color: var(--mk-pink-dark); }
