/* ===========================================================
   Espressimo — About Store V2 (image + eyebrow/heading/text/CTA)
   Physical layout (direction:ltr) so Left = left, Right = right.
   =========================================================== */

.esp-av2-store {
    font-family: 'Dialect PM', sans-serif;
    display: flex;
    flex-direction: row;
    direction: ltr;            /* physical column order; text column re-set to rtl */
    align-items: stretch;
    border-bottom: 1px solid #e6dad4;
    background: #fff9f2;
}
.esp-av2-store--img-right { flex-direction: row-reverse; } /* media physically right */
/* default (img-left): media physically left */

.esp-av2-store__media {
    width: 46%;
    flex-shrink: 0;
    overflow: hidden;
    align-self: stretch;   /* fill the row's full height */
}
.esp-av2-store--img-left  .esp-av2-store__media { border-right: 1px solid #e6dad4; }
.esp-av2-store--img-right .esp-av2-store__media { border-left:  1px solid #e6dad4; }
/* !important overrides theme rules like `img { height:auto !important }` so the
   photo fills its column completely in every viewport. */
.esp-av2-store__media img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.esp-av2-store__body {
    flex: 1;
    direction: rtl;
    text-align: right;
    padding: 56px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.esp-av2-store__eyebrow {
    display: block;
    color: #c46500;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.esp-av2-store__heading {
    color: #522c25;
    font-size: 44px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.15;
    margin: 0 0 20px;
}
.esp-av2-store__text {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.esp-av2-store__text p {
    color: #522c25;
    font-size: 21px;
    opacity: 0.72;
    line-height: 1.7;
    margin: 0;
}
.esp-av2-store__btn {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 28px;
    background: #8B3A00;
    color: #fff;
    font-size: 20px;
    letter-spacing: 0.04em;
    text-decoration: none;
    padding: 12px 28px;
    border-radius: 8px;
    transition: background-color 0.2s ease;
}
.esp-av2-store__btn:hover { background: #a34500; }
.esp-av2-store__btn svg { flex-shrink: 0; }

/* ── Responsive ── */
@media (max-width: 1024px) {
    .esp-av2-store,
    .esp-av2-store--img-right { flex-direction: column; }
    .esp-av2-store__media {
        width: 100%;
        aspect-ratio: 4 / 3;
        border-right: 0;
        border-left: 0;
        border-bottom: 1px solid #e6dad4;
    }
    .esp-av2-store__body { padding: 40px 24px; }
    .esp-av2-store__heading { font-size: 32px; }
    .esp-av2-store__text p { font-size: 19px; }
}
