/* ==========================================================================
   Evara London — editorial sections
   Story, testimonials and FAQ, built to the design's measurements.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Shared: pill button, left-aligned rule
   -------------------------------------------------------------------------- */

.ev-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--ev-gold);
    border-radius: 50px;
    padding: 13px 34px;
    font-family: var(--ev-font-display);
    font-size: 13px;
    letter-spacing: .1em;
    color: var(--ev-cream);
    background: transparent;
    transition: background .3s ease, color .3s ease, border-color .3s ease;
}

.ev-pill:hover { background: var(--ev-gold); color: var(--ev-navy); border-color: var(--ev-gold); }
.ev-pill span { font-size: 12px; }

.ev-story__rule {
    display: block;
    width: 96px;
    height: 1px;
    background: linear-gradient(90deg, var(--ev-gold-bright), rgba(152, 119, 81, 0));
}

/* --------------------------------------------------------------------------
   Story / editorial split
   -------------------------------------------------------------------------- */

.ev-story {
    padding: clamp(64px, 8vw, 130px) 0;
    background: var(--ev-navy);
    background-size: cover;
    background-position: center;
}

.ev-story__inner {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) minmax(300px, 1.15fr);
    gap: clamp(30px, 4vw, 80px);
    align-items: center;
}

@media (max-width: 900px) {
    .ev-story__inner { grid-template-columns: 1fr; }
}

.ev-story--flip .ev-story__media { order: -1; }

@media (max-width: 900px) {
    .ev-story--flip .ev-story__media { order: 0; }
}

.ev-story__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

.ev-story__title {
    margin: 0;
    font-family: var(--ev-font-display);
    font-weight: 400;
    font-size: clamp(30px, 4.2vw, 54px);
    line-height: 1.18;
    letter-spacing: .04em;
    color: var(--ev-white);
    text-wrap: pretty;
}

.ev-story__body {
    margin: 0;
    max-width: 520px;
    font-family: var(--ev-font-accent);
    font-size: clamp(18px, 1.6vw, 22px);
    font-weight: 300;
    line-height: 1.8;
    color: rgba(255, 255, 255, .66);
}

.ev-story__cta { margin: 0; }

/* framed image with an inset hairline, per the design */
.ev-story__media { position: relative; width: 100%; }

.ev-story__media img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 5 / 4;
    object-fit: cover;
    object-position: center;
}

/* Frame sits OUTSIDE the photo: the container carries the border and a gap,
   so the hairline never crosses the image. */
.ev-story__media {
    padding: clamp(8px, 1vw, 14px);
    border: 1px solid rgba(163, 152, 115, .5);
}

.ev-story__inset { display: none; }

/* stats row */
.ev-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 28px;
    width: 100%;
    max-width: 520px;
    padding-top: 8px;
    margin: 0;
}

.ev-stats__item { display: flex; flex-direction: column; gap: 6px; }

.ev-stats__value {
    margin: 0;
    font-family: var(--ev-font-display);
    font-size: clamp(26px, 2.8vw, 36px);
    font-weight: 400;
    color: var(--ev-cream);
    line-height: 1;
}

.ev-stats__label {
    margin: 0;
    font-family: var(--ev-font-body);
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .5);
}

/* --------------------------------------------------------------------------
   Testimonials — bordered cards with a serif quote mark, no avatars
   -------------------------------------------------------------------------- */

.ev-quotes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(20px, 2.4vw, 34px);
}

.ev-quote {
    margin: 0;
    /* fixed card height: a flex item's height:100% resolves against an
       auto-height track, so it must be stated outright */
    height: 320px;
    border: 1px solid rgba(163, 152, 115, .34);
    padding: clamp(26px, 3vw, 40px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    background: transparent;   /* the section's own backdrop shows through */
    text-align: left;
}

.ev-quotes { align-items: stretch; }

.ev-quote__mark {
    font-family: var(--ev-font-accent);
    font-size: 20px;
    line-height: 1;
    color: rgba(163, 152, 115, .7);
}

/* Shofy's theme.css styles bare <blockquote> with a solid brand-colour fill
   and 45px/58px padding, and CKEditor's sheet adds an italic + left rule.
   Reset all of it before applying Evara's own treatment. */
.ev-quote__text {
    background: none !important;
    background-color: transparent !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    overflow: visible !important;
    z-index: auto;
    position: static;
    quotes: none;
    margin: 0;
    font-family: var(--ev-font-accent) !important;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.75;
    color: rgba(255, 255, 255, .78);
    font-style: normal;
}

.ev-quote__text p {
    margin: 0;
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

.ev-quote__name {
    margin: 0;
    font-family: var(--ev-font-body) !important;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--ev-cream);
}

/* --------------------------------------------------------------------------
   FAQ — intro one side, accordion the other
   -------------------------------------------------------------------------- */

.ev-faq-section {
    padding: clamp(64px, 8vw, 124px) 0;
    background: var(--ev-navy);
    background-size: cover;
    background-position: center;
}

.ev-faq-section__inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: clamp(30px, 4vw, 80px);
    align-items: start;
}

.ev-faq-section__intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
}

.ev-faq-section__copy {
    margin: 0;
    max-width: 420px;
    font-family: var(--ev-font-accent);
    font-size: 20px;
    font-weight: 300;
    line-height: 1.75;
    color: rgba(255, 255, 255, .66);
}

.ev-faq { display: flex; flex-direction: column; max-width: none; margin: 0; }

.ev-faq__item { border-top: 1px solid rgba(163, 152, 115, .32); border-bottom: 0; }
.ev-faq__item:last-child { border-bottom: 1px solid rgba(163, 152, 115, .32); }

.ev-faq__q {
    width: 100%;
    background: transparent;
    border: 0;
    padding: 24px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    cursor: pointer;
    text-align: left;
    font-family: var(--ev-font-display);
    font-size: clamp(15px, 1.3vw, 18px);
    font-weight: 400;
    letter-spacing: .03em;
    color: var(--ev-white);
}

.ev-faq__q::after { content: none; }
.ev-faq__q:hover { color: var(--ev-gold-bright); }

.ev-faq__sign {
    font-family: var(--ev-font-body);
    font-size: 22px;
    font-weight: 200;
    color: var(--ev-gold);
    transition: transform .4s ease;
    flex-shrink: 0;
    line-height: 1;
}

.ev-faq__item.is-open .ev-faq__sign { transform: rotate(45deg); }

.ev-faq__a {
    display: none;
    padding: 0 0 24px;
    font-family: var(--ev-font-accent);
    font-size: 18px;
    font-weight: 300;
    line-height: 1.8;
    color: rgba(255, 255, 255, .66);
}

.ev-faq__item.is-open .ev-faq__a { display: block; }

/* --------------------------------------------------------------------------
   Collection cards on the homepage: name overlay only, no count
   -------------------------------------------------------------------------- */

.ev-collection__overlay {
    background: linear-gradient(180deg, transparent 40%, rgba(5, 13, 31, .88));
    justify-content: flex-end;
    padding: 26px 18px;
}

.ev-collections--plain .ev-collection__count { display: none; }


/* --------------------------------------------------------------------------
   Testimonial cards: uniform height regardless of quote length
   -------------------------------------------------------------------------- */

.ev-carousel__track { align-items: stretch; }

.ev-quote {
    justify-content: flex-start;
    box-sizing: border-box;
}

/* keep long quotes inside the fixed box */
.ev-quote__text {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* attribution pinned to the foot so names align across the row */
.ev-quote__name { margin-top: auto; padding-top: 8px; }

@media (max-width: 900px) { .ev-quote { min-height: 260px; } }


/* explicit, content-independent card height */
.ev-quote { height: 320px !important; min-height: 320px; overflow: hidden; }
.ev-quote__text { -webkit-line-clamp: 4; }

@media (max-width: 900px) { .ev-quote { height: 300px !important; min-height: 300px; } }

/* ==========================================================================
   Categories page
   The page is CMS content built from the [ecommerce-categories] shortcode,
   which renders Shofy's markup. These rules bring that output into the Evara
   language rather than replacing the shortcode.
   ========================================================================== */

.tp-category-area { background: var(--ev-navy); padding-block: clamp(24px, 4vw, 56px); }
.tp-category-area > .container,
.tp-category-area .container { max-width: var(--ev-maxw); margin-inline: auto; padding-inline: var(--ev-gutter); }

.tp-category-main-box {
    position: relative;
    margin-bottom: clamp(18px, 2.2vw, 32px) !important;
    background: transparent !important;
}

.tp-category-main-thumb {
    display: block;
    aspect-ratio: 4 / 5;
    height: auto !important;
    border: 1px solid rgba(163, 152, 115, .34);
    background-position: center !important;
    background-size: cover !important;
    transition: border-color .4s ease, transform 1.1s cubic-bezier(.2, .7, .2, 1);
}
.tp-category-main-box:hover .tp-category-main-thumb { border-color: var(--ev-gold-bright); }

/* the caption overlays the image, so it needs a scrim to stay readable */
.tp-category-main-content {
    position: absolute !important;
    left: 0; right: 0; bottom: 0;
    padding: clamp(16px, 2vw, 26px) clamp(14px, 1.6vw, 20px);
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: center;
    background: linear-gradient(180deg, rgba(5, 13, 31, 0), rgba(5, 13, 31, .82) 55%, rgba(5, 13, 31, .94));
    pointer-events: none;
}
.tp-category-main-content a { pointer-events: auto; }

.tp-category-main-title,
.tp-category-main-content h3 {
    margin: 0;
    font-family: var(--ev-font-display);
    font-size: clamp(14px, 1.4vw, 18px);
    font-weight: 400;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.35;
}
.tp-category-main-title a,
.tp-category-main-content h3 a { color: var(--ev-white); }
.tp-category-main-box:hover .tp-category-main-title a { color: var(--ev-gold-bright); }

.tp-category-main-content p,
.tp-category-main-content span,
.tp-category-main-content .tp-category-main-count {
    margin: 0;
    font-family: var(--ev-font-body);
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--ev-gold);
}

/* Shofy's promo banner blocks are demo furniture with dead image keys */
.tp-banner-item-4,
.tp-banner-thumb-4,
.tp-banner-area-4 { background: transparent !important; }

/* ==========================================================================
   The Evara Women — customer and model gallery
   ========================================================================== */

.ev-women__head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 38px;
}

.ev-women__title {
    font-family: var(--ev-font-display);
    font-weight: 400;
    font-size: clamp(26px, 3.4vw, 42px);
    letter-spacing: .06em;
    color: var(--ev-cream);
    margin: 0;
}

.ev-women__lede {
    font-family: var(--ev-font-accent);
    font-size: 18px;
    line-height: 1.7;
    color: rgba(253, 224, 191, .8);
    margin: 14px 0 0;
}

.ev-women__grid {
    display: grid;
    gap: 22px;
}

.ev-women__grid--2 { grid-template-columns: repeat(2, 1fr); }
.ev-women__grid--3 { grid-template-columns: repeat(3, 1fr); }
.ev-women__grid--4 { grid-template-columns: repeat(4, 1fr); }

.ev-women__card {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    padding: 0;
    /* It is a button now — it opens the photograph rather than navigating —
       so the browser's own button styling has to come off. */
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    text-align: left;
    border-radius: 10px;
    border: 1px solid rgba(163, 152, 115, .3);
    background: rgba(255, 255, 255, .03);
    /* A consistent shape whatever the source photograph's proportions, so a
       mixed set of portrait and landscape shots still reads as one row. */
    aspect-ratio: 4 / 3;
    transition: border-color .25s ease, transform .25s ease;
}

.ev-women__card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}

.ev-women__card:hover,
.ev-women__card:focus-visible {
    border-color: rgba(212, 175, 122, .75);
    transform: translateY(-3px);
}

.ev-women__card:hover img,
.ev-women__card:focus-visible img {
    transform: scale(1.04);
}

/* Her name, on the photograph. The gradient keeps it legible whatever the
   shot underneath is doing. */
.ev-women__label {
    position: absolute;
    inset: auto 0 0 0;
    display: block;
    padding: 42px 18px 16px;
    background: linear-gradient(to top, rgba(11, 26, 47, .88) 12%, rgba(11, 26, 47, 0));
    pointer-events: none;
}

.ev-women__name {
    display: block;
    font-family: var(--ev-font-display);
    font-size: 17px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ev-cream);
}

.ev-women__caption {
    display: block;
    font-family: var(--ev-font-accent);
    font-size: 14px;
    font-style: italic;
    color: rgba(253, 224, 191, .78);
    margin-top: 3px;
}

.ev-women__cta {
    text-align: center;
    margin-top: 34px;
}

.ev-women__cta .ev-btn {
    border-radius: 999px;
    padding: 13px 34px;
}

@media (max-width: 900px) {
    .ev-women__grid--3,
    .ev-women__grid--4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
    .ev-women__grid { grid-template-columns: 1fr; gap: 16px; }
}


/* ==========================================================================
   The Evara Women — the photograph, opened
   ========================================================================== */

.ev-women-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.ev-women-modal[hidden] { display: none; }

/* The page behind must not scroll while it is open. */
body.ev-women-open { overflow: hidden; }

.ev-women-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(6, 16, 30, .92);
    backdrop-filter: blur(4px);
}

.ev-women-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(880px, 100%);
    max-height: calc(100vh - 48px);
    background: var(--ev-navy, #0b1a2f);
    border: 1px solid rgba(163, 152, 115, .35);
    border-radius: 12px;
    overflow: auto;
    animation: ev-women-in .28s ease;
}

@keyframes ev-women-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .ev-women-modal__dialog { animation: none; }
}

.ev-women-modal__figure { margin: 0; }

.ev-women-modal__figure img {
    display: block;
    width: 100%;
    max-height: 62vh;
    object-fit: cover;
    background: rgba(255, 255, 255, .04);
}

.ev-women-modal__meta {
    padding: 24px 28px 28px;
    text-align: center;
}

.ev-women-modal__name {
    font-family: var(--ev-font-display);
    font-weight: 400;
    font-size: clamp(20px, 2.6vw, 28px);
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ev-cream);
    margin: 0;
}

.ev-women-modal__name[hidden],
.ev-women-modal__caption[hidden],
.ev-women-modal__shop[hidden] { display: none; }

/* The gold hairline the rest of the theme uses under a display heading. */
.ev-women-modal__name::after {
    content: '';
    display: block;
    width: 54px;
    height: 1px;
    margin: 14px auto 0;
    background: linear-gradient(to right, transparent, rgba(212, 175, 122, .9), transparent);
}

.ev-women-modal__caption {
    font-family: var(--ev-font-accent);
    font-size: 16px;
    font-style: italic;
    line-height: 1.7;
    color: rgba(253, 224, 191, .82);
    margin: 14px 0 0;
}

.ev-women-modal__shop { margin-top: 20px; }

.ev-women-modal__close {
    position: absolute;
    top: 10px;
    right: 12px;
    z-index: 2;
    width: 38px;
    height: 38px;
    line-height: 1;
    font-size: 26px;
    color: var(--ev-cream);
    background: rgba(11, 26, 47, .7);
    border: 1px solid rgba(163, 152, 115, .4);
    border-radius: 50%;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease;
}

.ev-women-modal__close:hover {
    background: rgba(212, 175, 122, .2);
    border-color: rgba(212, 175, 122, .8);
}

.ev-women-modal__nav {
    position: absolute;
    top: 31%;
    z-index: 2;
    width: 42px;
    height: 42px;
    font-size: 30px;
    line-height: 1;
    color: var(--ev-cream);
    background: rgba(11, 26, 47, .66);
    border: 1px solid rgba(163, 152, 115, .4);
    border-radius: 50%;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease;
}

.ev-women-modal__nav:hover {
    background: rgba(212, 175, 122, .2);
    border-color: rgba(212, 175, 122, .8);
}

.ev-women-modal__nav[hidden] { display: none; }
.ev-women-modal__nav--prev { left: 12px; }
.ev-women-modal__nav--next { right: 12px; }

@media (max-width: 560px) {
    .ev-women-modal { padding: 12px; }
    .ev-women-modal__meta { padding: 20px 18px 24px; }
    .ev-women-modal__figure img { max-height: 52vh; }
}

/* ==========================================================================
   The Journal — index cards and a single entry
   ========================================================================== */

.ev-journal {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.ev-journal__card {
    display: flex;
    flex-direction: column;
    background: rgba(255, 255, 255, .02);
    border: 1px solid rgba(163, 152, 115, .28);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color .25s ease, transform .25s ease;
}

.ev-journal__card:hover {
    border-color: rgba(212, 175, 122, .7);
    transform: translateY(-3px);
}

.ev-journal__media {
    display: block;
    /* One shape whatever the source photograph's proportions, so a mixed set
       still reads as one row. */
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: rgba(255, 255, 255, .03);
}

.ev-journal__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}

.ev-journal__card:hover .ev-journal__media img { transform: scale(1.04); }

.ev-journal__body {
    padding: 22px 22px 26px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 auto;
}

.ev-journal__cat {
    font-family: var(--ev-font-body);
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--ev-gold-bright);
    text-decoration: none;
}

.ev-journal__title {
    font-family: var(--ev-font-display);
    font-weight: 400;
    font-size: 20px;
    line-height: 1.35;
    letter-spacing: .04em;
    margin: 0;
}

.ev-journal__title a { color: var(--ev-cream); text-decoration: none; }
.ev-journal__title a:hover { color: var(--ev-gold-bright); }

.ev-journal__lede {
    font-family: var(--ev-font-accent);
    font-size: 17px;
    line-height: 1.7;
    color: rgba(253, 224, 191, .8);
    margin: 0;
}

.ev-journal__meta {
    margin: auto 0 0;
    font-family: var(--ev-font-body);
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(253, 224, 191, .5);
}

@media (max-width: 900px) { .ev-journal { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .ev-journal { grid-template-columns: 1fr; gap: 18px; } }

/* ---------- a single entry ---------- */

.ev-post__head { text-align: center; max-width: 780px; margin: 0 auto 34px; }

.ev-post__head .ev-eyebrow a { color: inherit; text-decoration: none; }
.ev-post__head .ev-eyebrow a:hover { color: var(--ev-gold-bright); }

.ev-post__title {
    font-family: var(--ev-font-display);
    font-weight: 400;
    font-size: clamp(28px, 4vw, 46px);
    line-height: 1.2;
    letter-spacing: .04em;
    color: var(--ev-cream);
    margin: 12px 0 0;
}

.ev-post__meta {
    margin: 14px 0 0;
    font-family: var(--ev-font-body);
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(253, 224, 191, .55);
}

.ev-post__hero {
    margin: 0 auto 40px;
    max-width: 980px;
    border: 1px solid rgba(163, 152, 115, .3);
    border-radius: 10px;
    overflow: hidden;
}

.ev-post__hero img { width: 100%; height: auto; display: block; }

/* The body reuses .ev-prose; only the width needs saying. */
.ev-post__body { max-width: 760px; margin-inline: auto; }
