@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Bengali:wght@400;500;600;700&display=swap');

/* Amar Kashimpur Courier – Auth / Login styles
   Brand: Green + Mint + White
   Font: Noto Sans Bengali only
*/

.akc-login-wrapper {
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	background: linear-gradient(160deg, #f0fdf4 0%, #ecfdf5 40%, #f8fafc 100%);
}

.akc-login-card {
	width: 100%;
	max-width: 420px;
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06), 0 2px 8px rgba(0, 0, 0, 0.04);
	padding: 40px 32px;
}

.akc-login-header {
	text-align: center;
	margin-bottom: 28px;
}

.akc-login-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
}

.akc-brand-logo-img {
	display: block;
	width: auto;
	height: auto;
	max-width: min(280px, 78vw);
	max-height: 72px;
	object-fit: contain;
	object-position: center;
}

.akc-brand-logo-fallback {
	font-size: 22px;
	font-weight: 700;
	color: #0A7C6E;
	letter-spacing: -0.02em;
}
.akc-brand-logo-fallback em {
	font-style: normal;
	color: #F59E0B;
}

.akc-login-title {
	font-size: 22px;
	font-weight: 700;
	color: #111827;
	margin: 0 0 6px;
	line-height: 1.3;
}

.akc-login-subtitle {
	font-size: 14px;
	color: #6b7280;
	margin: 0;
}

.akc-form-group {
	margin-bottom: 18px;
}

.akc-form-group label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #374151;
	margin-bottom: 6px;
}

.akc-input {
	width: 100%;
	padding: 12px 14px;
	font-size: 15px;
	border: 1.5px solid #e5e7eb;
	border-radius: 10px;
	background: #fff;
	color: #111827;
	transition: border-color 0.15s, box-shadow 0.15s;
	box-sizing: border-box;
}

.akc-input:focus {
	outline: none;
	border-color: #00B795;
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15);
}

.akc-form-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 22px;
	flex-wrap: wrap;
	gap: 8px;
}

.akc-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #4b5563;
	cursor: pointer;
}

.akc-checkbox input {
	width: 16px;
	height: 16px;
	accent-color: #00B795;
}

.akc-forgot-link {
	font-size: 13px;
	color: #00B795;
	text-decoration: none;
	font-weight: 500;
}

.akc-forgot-link:hover {
	text-decoration: underline;
}

.akc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 20px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 10px;
	border: none;
	cursor: pointer;
	transition: background 0.15s, transform 0.1s;
}

.akc-btn-primary {
	background: #00B795;
	color: #fff;
}

.akc-btn-primary:hover {
	background: #008F74;
}

.akc-btn-primary:active {
	transform: scale(0.98);
}

.akc-btn-block {
	width: 100%;
}

.akc-btn:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

.akc-alert {
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 14px;
	margin-bottom: 18px;
}

.akc-alert-error {
	background: #fef2f2;
	color: #b91c1c;
	border: 1px solid #fecaca;
}

.akc-alert-success {
	background: #ecfdf5;
	color: #065f46;
	border: 1px solid #a7f3d0;
}

.akc-login-footer {
	margin-top: 24px;
	text-align: center;
	font-size: 13px;
	color: #9ca3af;
}

.akc-login-already {
	text-align: center;
	padding: 40px 20px;
}

/* Responsive */
@media (max-width: 480px) {
	.akc-login-card {
		padding: 28px 20px;
		border-radius: 12px;
	}
	.akc-login-title {
		font-size: 20px;
	}
}

/* =========================================================
   PHASE 19 — Auth mobile
   ========================================================= */
.akc-auth, .akc-auth *, .akc-login-wrap, .akc-login-card {
  box-sizing: border-box;
  max-width: 100%;
}
.akc-login-wrap,
.akc-auth-wrap {
  width: 100%;
  padding: 16px 12px;
  overflow-x: hidden;
}
.akc-login-card,
.akc-auth-card {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  padding: 20px 16px;
}
.akc-auth input,
.akc-login-card input {
  width: 100%;
  max-width: 100%;
  font-size: 16px;
  min-height: 44px;
}
.akc-auth button,
.akc-login-card button,
.akc-auth .akc-btn {
  width: 100%;
  min-height: 44px;
}

@media (max-width: 479px) {
  .akc-login-wrap,
  .akc-auth-wrap {
    padding: 12px 10px;
  }
  .akc-login-card,
  .akc-auth-card {
    padding: 16px 12px;
    border-radius: 12px;
  }
}

@media (max-width: 359px) {
  .akc-login-wrap,
  .akc-auth-wrap {
    padding: 10px 8px;
  }
}


/* === FINAL: Portal nav underlines completely removed (scoped) === */
#akc-merchant-root a,
#akc-merchant-root a:hover,
#akc-merchant-root a:focus,
#akc-merchant-root a:active,
#akc-merchant-root a:visited,
#akc-rider-root a,
#akc-rider-root a:hover,
#akc-rider-root a:focus,
#akc-rider-root a:active,
#akc-rider-root a:visited,
#akc-admin-root a,
#akc-admin-root a:hover,
#akc-admin-root a:focus,
#akc-admin-root a:active,
#akc-admin-root a:visited,
.akc-mp-nav a,
.akc-mp-nav a:hover,
.akc-mp-nav a:focus,
.akc-mp-nav a:active,
.akc-mp-nav a:visited,
.akc-mp-nav a.active,
.akc-rp-nav a,
.akc-rp-nav a:hover,
.akc-rp-nav a:focus,
.akc-rp-nav a:active,
.akc-rp-nav a:visited,
.akc-rp-nav a.active,
.akc-ap-nav a,
.akc-ap-nav a:hover,
.akc-ap-nav a:focus,
.akc-ap-nav a:active,
.akc-ap-nav a:visited,
.akc-ap-nav a.active,
.akc-mp-sidebar a,
.akc-rp-side a,
.akc-ap-side a,
body.akc-merchant-app .akc-mp-nav a,
body.akc-merchant-app .akc-mp-nav a:hover,
body.akc-merchant-app .akc-mp-nav a:focus,
body.akc-merchant-app .akc-mp-nav a.active,
body.akc-rider-app .akc-rp-nav a,
body.akc-rider-app .akc-rp-nav a:hover,
body.akc-rider-app .akc-rp-nav a:focus,
body.akc-rider-app .akc-rp-nav a.active,
body.akc-admin-app .akc-ap-nav a,
body.akc-admin-app .akc-ap-nav a:hover,
body.akc-admin-app .akc-ap-nav a:focus,
body.akc-admin-app .akc-ap-nav a.active {
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
  text-underline-offset: 0 !important;
  border-bottom: none !important;
  box-shadow: none;
}
body.akc-merchant-app .akc-mp-nav a.active,
body.akc-rider-app .akc-rp-nav a.active,
body.akc-admin-app .akc-ap-nav a.active,
.akc-mp-nav a.active,
.akc-rp-nav a.active,
.akc-ap-nav a.active {
  background: rgba(255,255,255,0.18) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.20) !important;
  color: #fff !important;
}

.akc-auth, .akc-auth *, .akc-login, .akc-login *, .akc-register, .akc-register * {
  font-family: "Noto Sans Bengali", system-ui, -apple-system, sans-serif !important;
}


/* Registration action buttons */
.akc-login-register-actions {
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.akc-btn-secondary {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 12px 16px;
	border-radius: 12px;
	border: 1.5px solid #DDE9E6;
	background: #F4F8F7;
	color: #0A7C6E !important;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none !important;
	font-family: inherit;
	box-sizing: border-box;
	transition: background .15s, border-color .15s;
}
.akc-btn-secondary:hover,
.akc-btn-secondary:focus {
	background: #E6F4F1;
	border-color: #0A7C6E;
	color: #08695E !important;
}
.akc-btn-primary {
	background: #0A7C6E !important;
	border: 0;
	color: #fff !important;
	border-radius: 12px;
	min-height: 50px;
	font-weight: 700;
}
.akc-btn-primary:hover {
	background: #08695E !important;
}
.akc-pass-wrap {
	display: flex;
	align-items: stretch;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.akc-pass-wrap .akc-input {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.akc-toggle-pass {
	border: 0;
	background: #F4F8F7;
	color: #0A7C6E;
	font-size: 12px;
	font-weight: 700;
	padding: 0 12px;
	cursor: pointer;
	font-family: inherit;
	white-space: nowrap;
}

/* Hide WP/Astra page title "Login" and site footer on auth pages */
body.akc-auth-page .entry-header,
body.akc-auth-page .page-header,
body.akc-auth-page .ast-page-title,
body.akc-auth-page h1.entry-title,
body.akc-auth-page .entry-title,
body.akc-auth-page .woocommerce-products-header {
	display: none !important;
}
@media (max-width: 921px) {
	body.akc-auth-page #colophon,
	body.akc-auth-page .site-footer,
	body.akc-auth-page footer.site-footer,
	body.akc-auth-page .ast-footer-overlay,
	body.akc-auth-page .ast-small-footer,
	body.akc-auth-page .ast-footer-copyright {
		display: none !important;
	}
}

/* Password reset branded UI */
.akc-pw-reset-body {
  margin: 0;
  background: #F5F8F7;
  font-family: "Noto Sans Bengali", system-ui, sans-serif;
}
.akc-pw-logo {
  display: inline-flex;
  width: 48px; height: 48px;
  align-items: center; justify-content: center;
  border-radius: 14px;
  background: #0A7C6E;
  color: #fff;
  font-weight: 800;
  font-size: 1.1rem;
}
.akc-login-title {
  margin: 0 0 8px;
  font-size: 1.35rem;
  font-weight: 800;
  color: #17211F;
}
.akc-login-sub {
  margin: 0;
  font-size: 0.9rem;
  color: #6b7a8d;
  line-height: 1.45;
}
.akc-field { display: block; margin-bottom: 14px; }
.akc-field-label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: #17211F;
  margin-bottom: 6px;
}
.akc-input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d1d9e0;
  border-radius: 12px;
  font-size: 1rem;
  box-sizing: border-box;
}
.akc-input:focus {
  outline: 2px solid #0A7C6E;
  border-color: #0A7C6E;
}
.akc-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0A7C6E;
  color: #fff !important;
  border: 0;
  border-radius: 12px;
  padding: 14px 18px;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  text-decoration: none;
}
.akc-btn-primary:hover { background: #08665b; }
.akc-btn-block { width: 100%; }
.akc-auth-alert {
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 16px;
  font-size: 0.9rem;
  line-height: 1.4;
}
.akc-auth-alert--ok {
  background: #E8F7EE;
  color: #16803D;
  border: 1px solid #B7E4C7;
}
.akc-auth-alert--err {
  background: #FEE4E2;
  color: #B42318;
  border: 1px solid #FECDCA;
}
.akc-auth-foot {
  text-align: center;
  margin: 18px 0 0;
  font-size: 0.9rem;
}
.akc-auth-foot a {
  color: #0A7C6E;
  font-weight: 700;
  text-decoration: none;
}
.akc-auth-foot a:hover { text-decoration: underline; }
