/* Blockquote — i2t3 component styles
 * Styled pull-quote. Variants: plain (left accent), bordered (full box),
 * reverse (right accent, right-aligned), transparent (large quote mark).
 * Accent colour comes from the theme; background/width from the global layout.
 * Faithful to Karma: grey background, italic text and a typographic quote mark.
 */

.i2t3-blockquote__quote {
    position: relative;
    margin: 0;
    padding: 2rem 2rem 1.15rem;
    font-size: 1.25rem;
    line-height: 1.5;
    font-style: italic;
    background-color: var(--i2t3-grey, #f7f7f9);
    border-radius: .375rem;
}

.i2t3-blockquote__quote > :last-child {
    margin-bottom: 0;
}

/* Typographic opening quote mark in front of the first paragraph (Karma p::before) */
.i2t3-blockquote__quote p {
    position: relative;
    font-style: italic;
}
.i2t3-blockquote__quote p:first-child::before {
    content: '"';
    display: inline-block;
    font-size: 30px;
    line-height: 1;
    padding-right: 4px;
    position: relative;
    top: 4px;
}

/* plain — left accent bar */
.i2t3-blockquote--plain .i2t3-blockquote__quote {
    border-left: 5px solid var(--i2t3-bq-accent, var(--i2t3-primary, #0d6efd));
}

/* bordered — full box with differentiated edges + soft shadow (Karma with-borders).
 * The chosen theme colour drives the border so the accent is visible here too. */
.i2t3-blockquote--bordered .i2t3-blockquote__quote {
    padding: 1.3rem;
    border-radius: 6px;
    border-top: 1px solid var(--i2t3-bq-accent, #DFDFDF);
    border-bottom: 1px solid var(--i2t3-bq-accent, #DFDFDF);
    border-left: 1px solid var(--i2t3-bq-accent, #ECECEC);
    border-right: 1px solid var(--i2t3-bq-accent, #ECECEC);
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .04);
}

/* reverse — right accent, right-aligned */
.i2t3-blockquote--reverse .i2t3-blockquote__quote {
    border-right: 5px solid var(--i2t3-bq-accent, var(--i2t3-primary, #0d6efd));
    text-align: right;
}

/* transparent — no background/border, large opening quote mark */
.i2t3-blockquote--transparent .i2t3-blockquote__quote {
    background-color: transparent;
    border: 0;
    padding-top: 2.5rem;
}
.i2t3-blockquote--transparent .i2t3-blockquote__quote p:first-child::before {
    content: none;
}
.i2t3-blockquote--transparent .i2t3-blockquote__quote::before {
    content: "\201C";
    position: absolute;
    top: -.5rem;
    left: 0;
    font-size: 4rem;
    line-height: 1;
    color: var(--i2t3-bq-accent, var(--i2t3-primary, #0d6efd));
    opacity: .3;
}

/* sharp border radius toggle (Karma rounded-0) */
.i2t3-blockquote--sharp .i2t3-blockquote__quote {
    border-radius: 0;
}

/* Author / attribution */
.i2t3-blockquote__author {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-top: 1rem;
    padding-left: 1.25rem;
}
.i2t3-blockquote--reverse .i2t3-blockquote__author {
    justify-content: flex-end;
    padding-left: 0;
    padding-right: 1.25rem;
}
.i2t3-blockquote__avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 auto;
}
.i2t3-blockquote__meta {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}
.i2t3-blockquote__name {
    font-style: normal;
    font-weight: 600;
    color: var(--i2t3-bq-accent, var(--i2t3-primary, #0d6efd));
}
.i2t3-blockquote__role {
    font-size: .875rem;
    color: #6c757d;
}
