/*
 * PCL Buttons — All variants with sheen sweep
 */
.btn,
.pcl-btn,
.wp-block-button__link,
.ast-button,
.button,
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center; /* Ensures button text is centered */
	gap: 10px;
	padding: 14px 30px;
	min-height: 44px;
	border-radius: var(--pcl-r);
	font-weight: 700;
	font-size: .85rem;
	letter-spacing: .09em;
	text-transform: uppercase;
	transition: all .3s;
	border: 1px solid transparent;
	cursor: pointer;
	font-family: var(--pcl-body);
	position: relative;
	overflow: hidden;
	-webkit-tap-highlight-color: transparent;
	user-select: none;
}

/* Press state */
.btn:active,
.pcl-btn:active,
.wp-block-button__link:active,
.ast-button:active,
.button:active,
input[type="submit"]:active {
	transform: translateY(1px) scale(.985);
	transition-duration: .1s;
}

/* Keyboard focus ring — accessibility */
.btn:focus-visible,
.pcl-btn:focus-visible,
.wp-block-button__link:focus-visible,
.ast-button:focus-visible,
.button:focus-visible,
input[type="submit"]:focus-visible {
	outline: 3px solid var(--pcl-cyan);
	outline-offset: 3px;
}

/* Sheen sweep */
.btn::before,
.pcl-btn::before,
.wp-block-button__link::before,
.ast-button::before {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 50%;
	height: 100%;
	background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent);
	transform: skewX(-20deg);
	transition: left .55s ease;
}

.btn:hover::before,
.pcl-btn:hover::before,
.wp-block-button__link:hover::before,
.ast-button:hover::before { left: 130%; }

/* Brand button */
.btn-brand,
.pcl-btn-brand,
.wp-block-button .wp-block-button__link {
	background: linear-gradient(120deg, var(--pcl-cyan), var(--pcl-mint));
	color: var(--pcl-purple-ink);
}

.btn-brand:hover,
.pcl-btn-brand:hover,
.wp-block-button .wp-block-button__link:hover,
.ast-button:hover {
	box-shadow: 0 10px 32px rgba(140,235,239,.45);
	transform: translateY(-2px);
	color: var(--pcl-purple-ink);
}

/* Purple button */
.btn-purple,
.pcl-btn-purple {
	background: linear-gradient(120deg, var(--pcl-purple), var(--pcl-lilac));
	color: #fff;
}

.btn-purple:hover,
.pcl-btn-purple:hover {
	box-shadow: 0 10px 32px rgba(150,113,189,.4);
	transform: translateY(-2px);
}

/* Ghost button */
.btn-ghost,
.pcl-btn-ghost {
	border-color: rgba(202,242,241,.4);
	color: var(--pcl-mint);
	background: transparent;
}

.btn-ghost:hover,
.pcl-btn-ghost:hover {
	border-color: var(--pcl-cyan);
	color: #fff;
	transform: translateY(-2px);
}

/* Outline button */
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--pcl-line-dark);
	color: var(--pcl-teal-text);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--pcl-cyan);
	background: rgba(140,235,239,.1);
	color: var(--pcl-teal-text);
}

/* Fill button */
.wp-block-button.is-style-fill .wp-block-button__link {
	background: var(--pcl-purple-ink);
	color: var(--pcl-text-inv);
}

.wp-block-button.is-style-fill .wp-block-button__link:hover {
	background: var(--pcl-purple);
	color: var(--pcl-text-inv);
	box-shadow: 0 10px 32px rgba(150,113,189,.4);
	transform: translateY(-2px);
}

/* Nav CTA sizing */
.pcl-nav-cta { padding: 11px 24px; }

/* Unified radius — override any legacy inline 3px on CTAs (e.g. hero buttons stored in post content) */
.pcl-hero-ctas .wp-block-button__link,
.wp-block-button__link[style*="border-radius:3px"] {
	border-radius: var(--pcl-r) !important;
}

/* === Pill Button (fully rounded) === */
.btn-pill,
.pcl-btn-pill {
  border-radius: 999px;
  padding-left: 28px;
  padding-right: 28px;
}

.btn-pill.btn-brand,
.pcl-btn-pill.pcl-btn-brand {
  box-shadow: 0 6px 24px rgba(140,235,239,.35);
}

.btn-pill.btn-purple,
.pcl-btn-pill.pcl-btn-purple {
  box-shadow: 0 6px 24px rgba(150,113,189,.3);
}

/* Small pill variant */
.btn-pill-sm,
.pcl-btn-pill-sm {
  border-radius: 999px;
  padding: 10px 22px;
  font-size: .78rem;
  min-height: 40px;
}
