/**
 * CDSWerx Block Quote Widget Styles
 *
 * Two layouts: top (icon above text) and inline (icon beside text).
 * Author/citation, separator, closing quote icon, hover states.
 * No JS dependency.
 *
 * @package CDSWerx_Widget_Library
 * @since   2.15.0
 */

/* ============================================
   Base Container
   ============================================ */

.cdswerx-blockquote {
	position: relative;
}

/* ============================================
   Text Element
   ============================================ */

.cdswerx-blockquote__text {
	margin: 0;
	transition: color 0.3s ease-in-out;
}

/* ============================================
   Icon Element
   ============================================ */

.cdswerx-blockquote__icon {
	font-size: 30px;
	line-height: 1;
	transition: color 0.3s ease-in-out;
}

.cdswerx-blockquote__icon i {
	color: inherit;
	line-height: 1;
}

.cdswerx-blockquote__icon svg {
	width: 1em;
	height: auto;
	fill: currentColor;
	stroke: currentColor;
	display: block;
}

/* ============================================
   Closing Icon Element
   ============================================ */

.cdswerx-blockquote__closing-icon {
	line-height: 1;
	transition: color 0.3s ease-in-out;
}

.cdswerx-blockquote__closing-icon i {
	color: inherit;
	line-height: 1;
}

.cdswerx-blockquote__closing-icon svg {
	width: 1em;
	height: auto;
	fill: currentColor;
	stroke: currentColor;
	display: block;
}

/* ============================================
   Layout: Inline
   Icon floats inline-start of text
   ============================================ */

.cdswerx-blockquote--layout-inline .cdswerx-blockquote__icon {
	float: left;
	line-height: 1em;
	width: 1em;
	height: 1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 0.5em 0 0;
	vertical-align: top;
}

.cdswerx-blockquote--layout-inline .cdswerx-blockquote__icon svg {
	display: inline;
}

/* ============================================
   Separator
   ============================================ */

.cdswerx-blockquote__separator {
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: currentColor;
	width: 60px;
	margin: 15px 0;
}

/* ============================================
   Author Block
   ============================================ */

.cdswerx-blockquote__author {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	margin-top: 15px;
}

.cdswerx-blockquote__author-image {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.cdswerx-blockquote__author-info {
	display: flex;
	flex-direction: column;
}

.cdswerx-blockquote__author-name {
	font-weight: 600;
}

.cdswerx-blockquote__author-title {
	opacity: 0.8;
}
