
/*
Theme Name: Essence West Editorial v5
Theme URI: https://essencewest.com
Description: Essence West magazine editorial preview theme.
Author: Essence West
Version: 5.21
*/

*{
box-sizing:border-box;
}

body{
margin:0;
background:#fff;
color:#111;
}

.site-header{
height:88px;
border-bottom:1px solid #e8e8e8;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 28px;
}

.brand{
font-family:Arial,sans-serif;
font-size:34px;
letter-spacing:-1.5px;
}

.brand img{
max-height:45px;
width:auto;
}

.site-header nav ul{
display:flex;
gap:28px;
list-style:none;
margin:0;
padding:0;
}

.site-header nav a{
font-family:Arial,sans-serif;
font-size:12px;
text-decoration:none;
color:#111;
text-transform:uppercase;
}

.site-header-actions{
    display:flex;
    align-items:center;
    gap:24px;
}
.header-subscribe-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 15px;
    border:1px solid #111;
    border-radius:999px;
    color:#111;
    text-decoration:none;
    font-family:Arial,sans-serif;
    font-size:10px;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.04em;
    background:#fff;
}
.header-subscribe-button:hover,
.header-subscribe-button:focus{
    background:#111;
    color:#fff;
}

.article{
max-width:950px;
margin:55px auto 90px;
text-align:center;
}

.article-meta{
font-family:Arial,sans-serif;
font-size:11px;
text-transform:uppercase;
color:#5b0075;
margin-bottom:18px;
}

.article h1{
font-family:"Times New Roman",Georgia,serif;
font-weight:400;
font-size:58px;
line-height:.98;
max-width:900px;
margin:0 auto 22px;
letter-spacing:-1px;
}

.subtitle{
font-family:Arial,sans-serif;
font-size:16px;
line-height:1.5;
max-width:650px;
margin:0 auto 35px;
}

.article figure{
margin:0;
}

.article figure img{
display:block;
width:100%;
height:auto;
}

figcaption{
font-family:Arial,sans-serif;
font-size:10px;
text-align:left;
text-transform:uppercase;
margin-top:8px;
color:#555;
}

.content{
max-width:650px;
margin:35px auto 0;
text-align:left;
font-family:"Rizoma L", "SNS West", Arial, sans-serif;
font-size:17px;
line-height:1.75;
}

.content p{
margin-bottom:22px;
}

.site-footer{
background:#57006f;
color:white;
min-height:64px;
padding:10px 28px;
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
font-family:Arial,sans-serif;
}

.footer-logo{
display:flex;
align-items:center;
flex:0 0 auto;
}

.footer-logo-img{
display:block;
max-height:34px;
width:auto;
}

.footer-logo span{
font-size:20px;
line-height:1;
}

.copyright{
font-size:11px;
line-height:1.3;
text-align:right;
margin-left:auto;
}

@media(max-width:700px){
.article{
padding:0 20px;
}
.article h1{
font-size:38px;
}
.site-header nav{
display:none;
}
.site-header-actions{gap:10px;}
.header-subscribe-button{min-height:31px;padding:0 12px;font-size:9px;}
.site-footer{
min-height:58px;
padding:10px 20px;
}
.footer-logo-img{
max-height:28px;
}
.copyright{
font-size:9px;
}
}

/* Private front-page landing screen */
.private-landing{
min-height:calc(100vh - 138px);
display:flex;
align-items:center;
justify-content:center;
background:#fff;
padding:40px;
}

.private-landing-logo{
max-width:min(320px,70vw);
max-height:180px;
width:auto;
height:auto;
}

.private-landing-text{
font-family:Arial,sans-serif;
font-size:42px;
letter-spacing:-2px;
}

/* Compact footer */
.site-footer{
min-height:48px;
padding:7px 24px;
gap:16px;
}

.footer-logo-img{
max-height:26px;
filter:brightness(0) invert(1);
}

.footer-logo span{
font-size:17px;
}

.copyright{
font-size:10px;
}

@media(max-width:700px){
.site-footer{
min-height:44px;
padding:6px 16px;
}
.footer-logo-img{
max-height:23px;
}
.copyright{
font-size:8px;
}
.private-landing{
min-height:calc(100vh - 132px);
padding:30px 20px;
}
}


/* Final footer treatment: white Essence logo on purple, compact layout */
.site-footer .footer-logo-img,
.site-footer .footer-logo img {
    filter: brightness(0) invert(1) !important;
    -webkit-filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
}
.site-footer {
    min-height: 42px;
    height: auto;
    padding: 5px 24px;
}
.site-footer .footer-logo-img {
    max-height: 24px;
}
.site-footer .copyright {
    margin-left: auto;
    text-align: right;
    white-space: nowrap;
}

/* Private landing: no header or footer, only centered logo on white */
body.private-landing-page {
    background: #fff;
}
.private-landing-page .private-landing {
    min-height: 100vh;
    width: 100%;
    margin: 0;
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}
.private-landing-page .private-landing-logo {
    display: block;
    max-width: min(320px, 70vw);
    max-height: 180px;
    width: auto;
    height: auto;
}
@media (max-width:700px) {
    .site-footer { min-height: 40px; padding: 5px 16px; }
    .site-footer .footer-logo-img { max-height: 21px; }
    .site-footer .copyright { font-size: 8px; }
}

/* Current footer brand controls */
.site-footer .footer-logo-text{
    display:block;
    font-family:Arial,sans-serif;
    font-size:17px;
    line-height:1;
    letter-spacing:-.4px;
}

/* Bulletproof full-screen private landing: no header/footer and logo exactly centered. */
html body.private-landing-page{
    margin:0 !important;
    padding:0 !important;
    min-height:100vh !important;
    background:#fff !important;
}
html body.private-landing-page .private-landing{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100vh !important;
    min-height:100vh !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#fff !important;
}
html body.private-landing-page .private-landing-logo{
    display:block !important;
    position:static !important;
    margin:0 !important;
    max-width:min(320px,70vw) !important;
    max-height:180px !important;
    width:auto !important;
    height:auto !important;
}
html body.private-landing-page .private-landing-text{
    position:static !important;
    margin:0 !important;
}

/* Category is display-only: never make article categories navigable. */
.article-category { cursor: default; }

/* Private homepage is a true full-viewport splash: no header/footer space. */
body.private-landing-page { min-height: 100vh; }
.private-landing {
    width: 100%;
    min-height: 100vh;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    background: #fff;
}
.private-landing-logo {
    display: block;
    max-width: min(320px, 70vw);
    max-height: 180px;
    width: auto;
    height: auto;
}

/* Page templates and HTML/code-editor content */
.page-content{
    max-width:1100px;
    margin:0 auto;
    padding:55px 28px 90px;
}
.page-article h1{
    font-family:"Times New Roman",Georgia,serif;
    font-weight:400;
    font-size:58px;
    line-height:.98;
    margin:0 auto 30px;
    text-align:center;
}
.page-content .content{
    max-width:950px;
    margin:0 auto;
}
.page-content-no-header{
    width:100%;
    max-width:none;
    min-height:100vh;
    margin:0;
    padding:0;
}
.page-content-no-header .content{
    max-width:none;
    margin:0;
    padding:0;
}
.page-content-no-header .content > *:first-child{
    margin-top:0;
}

/* Prevent theme rules from breaking raw HTML added through the WordPress Code/Custom HTML block. */
.page-content-no-header .content img{
    max-width:100%;
    height:auto;
}

@media(max-width:700px){
    .page-content{padding:40px 20px 60px;}
    .page-article h1{font-size:38px;}
}

/* Header branding controls */
.site-header .brand-home-link{
    display:inline-flex;
    align-items:center;
    color:inherit;
    text-decoration:none;
}
.site-header .brand-home-link:hover,
.site-header .brand-home-link:focus{
    text-decoration:none;
}
.site-header .header-logo-text{
    display:block;
    font-family:Arial,sans-serif;
    font-size:34px;
    font-weight:400;
    line-height:1;
    letter-spacing:-1.5px;
}
.site-header .header-logo-img{
    display:block;
    max-height:45px;
    width:auto;
}

/* Password-protected posts: reveal only the title and password form. */
.article-password-protected{
    max-width:850px;
    margin-top:70px;
}
.article-password-protected .password-message{
    max-width:480px;
    margin:30px auto 0;
    text-align:center;
    font-family:Arial,sans-serif;
    font-size:15px;
    line-height:1.5;
}
.article-password-protected .post-password-form{
    margin:25px auto 0;
    text-align:left;
}
.article-password-protected .post-password-form label{
    display:block;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:8px;
}
.article-password-protected .post-password-form input[type=password]{
    width:100%;
    padding:12px;
    border:1px solid #bbb;
    font:inherit;
    margin:0 0 12px;
}
.article-password-protected .post-password-form input[type=submit]{
    padding:12px 20px;
    border:0;
    background:#111;
    color:#fff;
    cursor:pointer;
    text-transform:uppercase;
    font-size:11px;
    letter-spacing:.05em;
}

/* =========================================================
   Article sharing row — built into theme, no Custom CSS needed
   ========================================================= */
.article .article-share{
    display:block !important;
    width:auto !important;
    margin:10px auto 28px !important;
    text-align:center !important;
    font-family:Arial,sans-serif !important;
}
.article .article-share-label{
    display:block !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    color:#555 !important;
    margin:0 0 7px !important;
}
.article .article-share-icons{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    width:auto !important;
}
.article .article-share-icons a,
.article .article-share .share-link{
    display:inline-flex !important;
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    max-width:20px !important;
    min-height:20px !important;
    max-height:20px !important;
    flex:0 0 20px !important;
    padding:0 !important;
    margin:0 !important;
    align-items:center !important;
    justify-content:center !important;
    color:#333 !important;
    text-decoration:none !important;
    line-height:1 !important;
}
.article .article-share-icons a svg,
.article .article-share .share-link svg{
    display:block !important;
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    max-width:20px !important;
    min-height:20px !important;
    max-height:20px !important;
    flex:0 0 20px !important;
    fill:currentColor !important;
}
.article .article-share-icons a:hover,
.article .article-share-icons a:focus{
    color:#5b0075 !important;
}
.article .article-share-icons .share-pinterest{
    color:#5b0075 !important;
}

/* ESSENCE WEST CAPTIONS */
.wp-caption {
    margin-bottom: 12px !important;
}

.wp-caption img {
    display: block;
    margin-bottom: 4px !important;
}

.wp-caption-text {
    margin-top: 0 !important;
    margin-bottom: 12px !important;

    font-family: "Rizoma L", sans-serif !important;
    font-size: 11px !important;
    line-height: 1.2 !important;

    text-transform: uppercase !important;
    letter-spacing: 0.4px;

    color: #666;
    font-style: normal !important;
}

.wp-caption-text em {
    font-style: normal !important;
}

/* =========================================================
   Magazine homepage — shown when Private Landing Page is OFF
   ========================================================= */
.ew-home{
    width:min(1180px, calc(100% - 48px));
    margin:0 auto;
    padding:34px 0 72px;
}
.ew-home a,
.ew-index-list a{
    color:inherit;
    text-decoration:none;
}
.ew-home a:hover,
.ew-index-list a:hover{
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:2px;
}
.ew-home-lead{
    display:grid;
    grid-template-columns:minmax(180px,.72fr) minmax(0,1.65fr) minmax(180px,.72fr);
    gap:28px;
    align-items:start;
    padding-bottom:34px;
    border-bottom:1px solid #999;
}
.ew-home-side{
    display:grid;
    gap:26px;
}
.ew-mini-card + .ew-mini-card{
    padding-top:24px;
    border-top:1px solid #ddd;
}
.ew-card-image-link{
    display:block;
    overflow:hidden;
    background:#f1f1f1;
}
.ew-card-image,
.ew-hero-image,
.ew-watch-image{
    display:block;
    width:100%;
    height:auto;
    object-fit:cover;
}
.ew-mini-card .ew-card-image{
    aspect-ratio:4/5;
}
.ew-card-kicker,
.ew-category-name{
    margin-top:9px;
    font-family:Arial,sans-serif;
    font-size:9px;
    line-height:1.2;
    color:#5b0075;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.ew-mini-card h2,
.ew-story-card h3,
.ew-category-card h3,
.ew-watch-card h3,
.ew-index-item h2{
    margin:5px 0 0;
    font-family:"Times New Roman",Georgia,serif;
    font-size:19px;
    line-height:1.05;
    font-weight:400;
}
.ew-hero-card{
    text-align:center;
}
.ew-hero-card .ew-card-kicker{
    margin-top:12px;
}
.ew-hero-card h1{
    margin:6px auto 8px;
    max-width:700px;
    font-family:"Times New Roman",Georgia,serif;
    font-size:42px;
    line-height:.98;
    font-weight:400;
    letter-spacing:-.5px;
}
.ew-hero-excerpt{
    max-width:620px;
    margin:0 auto;
    font-family:Arial,sans-serif;
    font-size:12px;
    line-height:1.45;
    color:#555;
}
.ew-home-latest{
    border-left:1px solid #ddd;
    padding-left:20px;
}
.ew-home-latest > h2{
    display:inline-block;
    margin:0 0 28px;
    padding-bottom:3px;
    border-bottom:1px solid #111;
    font-family:"Times New Roman",Georgia,serif;
    font-size:27px;
    line-height:1;
    font-weight:400;
    text-transform:uppercase;
}
.ew-latest-item{
    padding:0 0 28px;
    border-top:0;
}
.ew-latest-item:first-of-type{border-top:0;}
.ew-latest-item .ew-card-kicker{margin-top:0; margin-bottom:7px;}
.ew-latest-item h3{
    margin:0;
    font-family:"Times New Roman",Georgia,serif;
    font-size:21px;
    line-height:1.08;
    font-weight:400;
}
.ew-home-section{
    padding:36px 0 6px;
}
.ew-section-rule{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:24px;
}
.ew-section-rule::before,
.ew-section-rule::after{
    content:"";
    height:1px;
    background:#888;
    flex:1 1 auto;
}
.ew-section-rule h2{
    flex:0 0 auto;
    margin:0;
    font-family:"Times New Roman",Georgia,serif;
    font-size:27px;
    line-height:1;
    font-weight:400;
    text-transform:uppercase;
}
.ew-story-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:30px 24px;
}
.ew-story-card .ew-card-image{
    aspect-ratio:4/3;
}
/* v5.15: favor the upper part of editorial thumbnails by default so faces
   are much less likely to be cropped out of landscape card frames. A post
   can override this from its Image Crop Focus box in the editor. */
.ew-mini-card .ew-card-image,
.ew-story-card .ew-card-image,
.ew-category-card .ew-card-image,
.ew-watch-card .ew-card-image,
.ew-category-hero-image,
.ew-category-rail-image,
.ew-category-story-image{
    object-position:center 22%;
}
.ew-story-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:9px;
    font-family:Arial,sans-serif;
    font-size:9px;
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.ew-story-meta .ew-card-kicker{
    margin:0;
}
.ew-story-date{
    color:#555;
}
.ew-story-card h3{
    font-size:20px;
}
.ew-subscribe-strip{
    margin:42px calc(50% - 50vw) 4px;
    padding:18px max(24px, calc((100vw - 1180px)/2));
    background:#57006f;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    text-align:center;
}
.ew-subscribe-strip div{
    font-family:"Times New Roman",Georgia,serif;
    font-size:31px;
    line-height:1;
}
.ew-subscribe-strip span{
    font-family:Arial,sans-serif;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.ew-category-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px 24px;
}
.ew-category-column{
    min-width:0;
}
.ew-category-name{
    margin:0 0 10px;
    padding-bottom:7px;
    border-bottom:1px solid #bbb;
    font-family:"Times New Roman",Georgia,serif;
    font-size:28px;
    color:#111;
    text-transform:none;
    letter-spacing:0;
}
.ew-category-card{
    display:grid;
    grid-template-columns:1fr;
    padding:0 0 16px;
}
.ew-category-card + .ew-category-card{
    padding-top:16px;
    border-top:1px solid #e3e3e3;
}
.ew-category-card .ew-card-image{
    aspect-ratio:4/3;
}
.ew-category-card h3{
    font-size:19px;
}
.ew-watch-section{
    padding-top:52px;
}
.ew-watch-title{
    margin:0 0 18px;
    text-align:center;
    font-family:"Times New Roman",Georgia,serif;
    font-size:58px;
    line-height:1;
    font-weight:400;
    text-transform:uppercase;
}
.ew-watch-lead{
    position:relative;
    overflow:hidden;
    background:#111;
}
.ew-watch-lead .ew-card-image-link::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,0) 58%);
}
.ew-watch-image{
    aspect-ratio:16/7;
}
.ew-watch-overlay{
    position:absolute;
    z-index:2;
    left:28px;
    right:28px;
    bottom:24px;
    color:#fff;
    pointer-events:none;
}
.ew-watch-overlay a{color:#fff; pointer-events:auto;}
.ew-play-mark{
    display:inline-flex;
    width:30px;
    height:30px;
    border:1px solid currentColor;
    border-radius:50%;
    align-items:center;
    justify-content:center;
    padding-left:2px;
    font-size:10px;
}
.ew-watch-overlay h2{
    max-width:650px;
    margin:10px 0 0;
    font-family:"Times New Roman",Georgia,serif;
    font-size:30px;
    line-height:1;
    font-weight:400;
}
.ew-watch-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    margin-top:18px;
}
.ew-watch-card .ew-card-image{aspect-ratio:16/9;}
.ew-watch-card h3{font-size:17px;}
.ew-continue-section{padding-bottom:30px;}
.ew-index-list{
    width:min(1000px,calc(100% - 48px));
    margin:45px auto 80px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:30px;
}
.ew-index-item img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    object-fit:cover;
}

@media(max-width:900px){
    .ew-home{width:min(100% - 32px,900px);}
    .ew-home-lead{
        grid-template-columns:1fr 1.65fr;
    }
    .ew-home-latest{
        grid-column:1/-1;
        border-left:0;
        border-top:1px solid #aaa;
        padding:20px 0 0;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:24px;
    }
    .ew-home-latest > h2{grid-column:1/-1;}
    .ew-story-grid,
    .ew-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .ew-index-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:700px){
    .article .article-share{margin-bottom:24px !important;}
    .article .article-share-label{font-size:9px !important;}
    .ew-home{width:calc(100% - 28px); padding-top:22px;}
    .ew-home-lead{display:flex; flex-direction:column; gap:26px;}
    .ew-hero-card{order:-1;}
    .ew-hero-card h1{font-size:34px;}
    .ew-home-side{grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;}
    .ew-mini-card + .ew-mini-card{padding-top:0; border-top:0;}
    .ew-home-latest{display:block; width:100%;}
    .ew-section-rule h2{font-size:23px;}
    .ew-story-grid,
    .ew-category-grid,
    .ew-watch-grid,
    .ew-index-list{grid-template-columns:1fr;}
    .ew-subscribe-strip{flex-direction:column; gap:6px; padding-top:16px; padding-bottom:16px;}
    .ew-subscribe-strip div{font-size:27px;}
    .ew-watch-title{font-size:45px;}
    .ew-watch-image{aspect-ratio:4/3;}
    .ew-watch-overlay{left:18px;right:18px;bottom:16px;}
    .ew-watch-overlay h2{font-size:24px;}
}


/* =========================================================
   Essence West imported product-roundup cards
   Presentation belongs to the theme; the sync plugin only
   supplies semantic .ewas-product-* markup and product data.
   ========================================================= */
.article .content .ewas-product-list{
    width:100%;
    max-width:650px;
    margin:30px auto 36px;
    padding:0;
}
.article .content .ewas-product-card{
    display:grid;
    grid-template-columns:165px minmax(0,1fr);
    gap:28px;
    align-items:center;
    width:100%;
    margin:0;
    padding:20px 0;
    border-top:1px solid #dedede;
}
.article .content .ewas-product-card:last-child{
    border-bottom:1px solid #dedede;
}
.article .content .ewas-product-media{
    display:flex;
    align-items:center;
    justify-content:center;
    width:165px;
    max-width:165px;
    min-width:0;
    min-height:165px;
    margin:0;
    padding:0;
    text-decoration:none;
}
.article .content .ewas-product-image,
.article .content .ewas-product-media img{
    display:block;
    width:auto !important;
    max-width:155px !important;
    height:auto !important;
    max-height:165px !important;
    margin:0 auto !important;
    padding:0 !important;
    object-fit:contain !important;
    object-position:center;
}
.article .content .ewas-product-details{
    min-width:0;
    align-self:center;
}
.article .content .ewas-product-title{
    margin:0 0 8px !important;
    padding:0;
    font-family:"Times New Roman",Georgia,serif;
    font-size:28px;
    line-height:1.02;
    font-weight:400;
    letter-spacing:-.35px;
    text-transform:none;
}
.article .content .ewas-product-title a{
    color:#111;
    text-decoration:none;
}
.article .content .ewas-product-title a:hover,
.article .content .ewas-product-title a:focus{
    text-decoration:underline;
}
.article .content .ewas-product-description{
    margin:0 0 8px !important;
    font-family:"Rizoma L","SNS West",Arial,sans-serif;
    font-size:13px;
    line-height:1.42;
    color:#111;
}
.article .content .ewas-product-price{
    margin:0 0 5px !important;
    font-family:Arial,sans-serif;
    font-size:12px;
    line-height:1.35;
    font-weight:700;
}
.article .content .ewas-product-price del{
    margin-right:6px;
    color:#666;
    font-weight:400;
}
.article .content .ewas-product-sale-price{
    font-weight:700;
}
.article .content .ewas-product-shop{
    margin:0 !important;
    font-family:Arial,sans-serif;
    font-size:11px;
    line-height:1.35;
}
.article .content .ewas-product-shop a{
    color:#111;
    text-decoration:underline;
}
.article .content .article__disclaimer{
    margin:24px 0 0;
    font-size:12px;
    line-height:1.45;
    font-style:italic;
}

@media(max-width:700px){
    .article .content .ewas-product-card{
        grid-template-columns:125px minmax(0,1fr);
        gap:17px;
        align-items:start;
        padding:17px 0;
    }
    .article .content .ewas-product-media{
        width:125px;
        max-width:125px;
        min-height:145px;
    }
    .article .content .ewas-product-image,
    .article .content .ewas-product-media img{
        width:auto !important;
        max-width:120px !important;
        height:auto !important;
        max-height:135px !important;
    }
    .article .content .ewas-product-title{
        font-size:22px;
        line-height:1.05;
    }
    .article .content .ewas-product-description{
        font-size:12px;
        line-height:1.4;
    }
}

@media(max-width:460px){
    .article .content .ewas-product-card{
        grid-template-columns:1fr;
        gap:13px;
        align-items:start;
    }
    .article .content .ewas-product-media{
        width:100%;
        max-width:220px;
        min-height:0;
        justify-self:center;
    }
    .article .content .ewas-product-image,
    .article .content .ewas-product-media img{
        width:auto !important;
        max-width:170px !important;
        height:auto !important;
        max-height:180px !important;
    }
}


/* =========================================================
   Article body + "See More" recommendation rail
   Desktop: true right-side rail beside the article body.
   Mobile/tablet: moves below the story.
   ========================================================= */
.article-body-layout{
    width:100%;
    max-width:1020px;
    margin:35px auto 0;
    display:grid !important;
    grid-template-columns:minmax(0,650px) 250px !important;
    column-gap:54px;
    align-items:start;
    justify-content:center;
    text-align:left;
}

.article-body-layout--no-sidebar{
    grid-template-columns:minmax(0,650px) !important;
    max-width:650px;
}

.article-body-layout .content{
    width:100%;
    max-width:650px;
    min-width:0;
    margin:0 !important;
}
.article-sidebar{
    display:block;
    width:250px;
    min-width:0;
    margin:0;
    padding:36px 0 0;
    position:sticky;
    top:24px;
    align-self:start;
    text-align:left;
    font-family:Arial,sans-serif;
}
.article-see-more{
    display:block;
    width:100%;
    min-width:0;
    margin:0;
    padding:0;
    position:static;
    text-align:left;
    font-family:Arial,sans-serif;
}
.article-sidebar__section + .article-sidebar__section{
    margin-top:46px;
}
.article-see-more__heading{
    display:inline-block;
    margin:0 0 25px;
    padding:0 0 4px;
    border-bottom:1px solid #111;
    font-family:"Times New Roman",Georgia,serif;
    font-size:24px;
    line-height:1;
    font-weight:400;
    letter-spacing:.1px;
    text-transform:uppercase;
}
.article-see-more__list{
    display:flex;
    flex-direction:column;
    gap:28px;
}
.article-see-more__item{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:12px;
    align-items:start;
    width:100%;
    margin:0;
    padding:0;
    text-align:left;
}
.article-see-more__image{
    display:block;
    width:92px;
    height:92px;
    overflow:hidden;
    background:#f2f2f2;
    text-decoration:none;
}
.article-see-more__image img{
    display:block;
    width:92px !important;
    height:92px !important;
    max-width:none !important;
    margin:0 !important;
    object-fit:cover;
}
.article-see-more__details{
    min-width:0;
}
.article-see-more__meta{
    display:block;
    margin:0 0 6px;
    font-family:Arial,sans-serif;
    font-size:9px;
    line-height:1.15;
    font-weight:700;
    letter-spacing:.025em;
    text-transform:uppercase;
}
.article-see-more__category{
    color:#651178;
}
.article-see-more__title{
    margin:0 !important;
    padding:0 !important;
    font-family:"Times New Roman",Georgia,serif !important;
    font-size:16px !important;
    line-height:1.08 !important;
    font-weight:400 !important;
    letter-spacing:-.1px;
    text-transform:none !important;
}
.article-see-more__title a{
    color:#111 !important;
    text-decoration:none !important;
}
.article-see-more__title a:hover,
.article-see-more__title a:focus{
    text-decoration:underline !important;
}

@media(max-width:1040px){
    .article{
        padding-left:22px;
        padding-right:22px;
    }
    .article-body-layout{
        max-width:950px;
        grid-template-columns:minmax(0,620px) 220px !important;
        column-gap:40px;
    }
    .article-sidebar{
        width:220px;
        padding-top:28px;
    }
    .article-see-more__item{
        grid-template-columns:82px minmax(0,1fr);
        gap:10px;
    }
    .article-see-more__image,
    .article-see-more__image img{
        width:82px !important;
        height:82px !important;
    }
}

@media(max-width:820px){
    .article-body-layout{
        display:block !important;
        max-width:650px;
    }
    .article-sidebar{
        position:static;
        width:100%;
        max-width:650px;
        padding-top:38px;
        margin:34px auto 0;
        border-top:1px solid #d9d9d9;
    }
    .article-sidebar__section + .article-sidebar__section{
        margin-top:40px;
        padding-top:30px;
        border-top:1px solid #e5e5e5;
    }
    .article-see-more__heading{
        margin-bottom:22px;
    }
    .article-see-more__list{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:24px;
    }
}

@media(max-width:520px){
    .article-see-more__list{
        grid-template-columns:1fr;
    }
    .article-see-more__item{
        grid-template-columns:92px minmax(0,1fr);
    }
    .article-see-more__image,
    .article-see-more__image img{
        width:92px !important;
        height:92px !important;
    }
}



/* =========================================================
   Newsletter page
   ========================================================= */
.ew-subscribe-page{
    min-height:100vh;
    background:#57006f;
    padding:46px 24px 34px;
    font-family:Arial,sans-serif;
}
.ew-subscribe-panel{
    width:min(610px,100%);
    margin:0 auto;
    background:#fff;
    padding:40px 48px 34px;
    text-align:center;
}
.ew-subscribe-panel h1{
    max-width:460px;
    margin:0 auto 12px;
    font-family:"Times New Roman",Georgia,serif;
    font-size:42px;
    line-height:.92;
    font-weight:400;
    text-transform:uppercase;
}
.ew-subscribe-intro{
    max-width:410px;
    margin:0 auto 28px;
    font-family:"Times New Roman",Georgia,serif;
    font-size:14px;
    line-height:1.35;
}
.ew-subscribe-success{
    margin:0 0 24px;
    padding:12px 15px;
    background:#f2edf4;
    color:#4f0771;
    font-size:13px;
    line-height:1.4;
}
.ew-subscribe-form{
    max-width:390px;
    margin:0 auto;
}
.ew-subscribe-field{
    margin:0 0 15px;
}
.ew-subscribe-field input{
    width:100%;
    border:0;
    border-bottom:1px solid #333;
    border-radius:0;
    background:transparent;
    padding:11px 3px 9px;
    font:14px/1.2 Arial,sans-serif;
    text-align:center;
    outline:none;
}
.ew-subscribe-field input:focus{border-bottom-color:#57006f;}
.ew-subscribe-field input::placeholder{color:#555;opacity:1;}
.ew-subscribe-submit{
    margin:10px 0 22px;
    border:0;
    border-radius:999px;
    background:#57006f;
    color:#fff;
    padding:11px 22px;
    font:700 10px/1 Arial,sans-serif;
    text-transform:uppercase;
    letter-spacing:.04em;
    cursor:pointer;
}
.ew-subscribe-preferences-title{
    margin:0 0 16px;
    font-family:"Times New Roman",Georgia,serif;
    font-size:18px;
}
.ew-subscribe-preferences{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px 16px;
    text-align:left;
}
.ew-subscribe-choice{
    display:block;
    font-size:9px;
    line-height:1.25;
}
.ew-subscribe-choice input{
    width:16px;
    height:16px;
    margin:0 0 5px;
    accent-color:#57006f;
}
.ew-subscribe-choice strong{
    display:block;
    margin-bottom:3px;
    text-transform:uppercase;
    font-size:9px;
}
.ew-subscribe-choice span{
    display:block;
    color:#555;
    font-size:8px;
    line-height:1.25;
}
.ew-subscribe-legal{
    margin:24px auto 0;
    max-width:440px;
    color:#555;
    font-size:8px;
    line-height:1.35;
}
.ew-subscribe-bottom{
    margin:74px auto 0;
    max-width:620px;
    color:#fff;
    text-align:center;
    font-family:"Times New Roman",Georgia,serif;
    font-size:28px;
    line-height:1.05;
}
.ew-subscribe-back{
    display:inline-block;
    margin:24px auto 0;
    color:#fff;
    font:10px/1 Arial,sans-serif;
    text-transform:uppercase;
    letter-spacing:.06em;
    text-decoration:none;
}
.ew-subscribe-back:hover{text-decoration:underline;}
.ew-subscribe-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}

@media(max-width:700px){
    .ew-subscribe-page{padding:24px 14px;}
    .ew-subscribe-panel{padding:32px 20px 28px;}
    .ew-subscribe-panel h1{font-size:34px;}
    .ew-subscribe-preferences{grid-template-columns:repeat(2,minmax(0,1fr));}
    .ew-subscribe-bottom{margin-top:45px;font-size:23px;}
}


/* v5.11 — Homepage newsletter CTA after Explore */
.ew-home-newsletter-cta{
    margin:48px calc(50% - 50vw) 44px;
    padding:54px max(24px,calc((100vw - 1180px)/2)) 46px;
    background:#57006f;
    color:#fff;
}
.ew-home-newsletter-inner{max-width:1180px;margin:0 auto;text-align:center;}
.ew-home-newsletter-cta h2{
    margin:0 0 42px;
    color:#fff;
    font-family:"Times New Roman",Georgia,serif;
    font-size:64px;
    line-height:1;
    font-weight:400;
}
.ew-home-newsletter-form{
    width:min(760px,100%);
    margin:0 auto;
    display:flex;
    align-items:center;
    border-bottom:1px solid rgba(255,255,255,.9);
}
.ew-home-newsletter-form input{
    flex:1;
    min-width:0;
    padding:12px 12px 12px 44px;
    border:0!important;
    outline:0;
    box-shadow:none!important;
    background:transparent!important;
    color:#fff;
    text-align:center;
    font:700 14px/1.3 Arial,sans-serif;
}
.ew-home-newsletter-form input::placeholder{color:#fff;opacity:1;}
.ew-home-newsletter-form button{
    flex:0 0 54px;
    border:0;
    background:transparent;
    color:#fff;
    padding:5px 0 10px;
    font:300 40px/1 Georgia,serif;
    cursor:pointer;
}
.ew-home-newsletter-form button:hover{opacity:.75;}
@media(max-width:700px){
    .ew-home-newsletter-cta{margin-top:34px;padding-top:40px;padding-bottom:38px;}
    .ew-home-newsletter-cta h2{font-size:44px;margin-bottom:30px;}
    .ew-home-newsletter-form input{padding-left:34px;font-size:13px;}
    .ew-home-newsletter-form button{flex-basis:42px;font-size:32px;}
}

/* v5.12 — force full-bleed homepage newsletter treatment */
.ew-home-newsletter-cta {
  width:100vw;
  max-width:none;
  position:relative;
  left:50%;
  right:50%;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  margin-top:48px !important;
  margin-bottom:44px !important;
  padding:58px 24px 44px !important;
  background:#57006f !important;
  color:#fff !important;
}
.ew-home-newsletter-inner { width:min(1200px,100%); max-width:1200px; margin:0 auto; text-align:center; }
.ew-home-newsletter-cta h2 { color:#fff !important; font-size:clamp(58px,6vw,92px) !important; font-weight:400 !important; line-height:1 !important; margin:0 0 42px !important; }
.ew-home-newsletter-form { width:min(1200px,calc(100% - 48px)) !important; max-width:1200px !important; margin:0 auto !important; display:flex !important; align-items:center !important; border:0 !important; border-bottom:1px solid #fff !important; background:transparent !important; }
.ew-home-newsletter-form input { height:54px !important; border:0 !important; background:transparent !important; color:#fff !important; text-align:center !important; font-size:14px !important; font-weight:700 !important; }
.ew-home-newsletter-form input::placeholder { color:#fff !important; opacity:1 !important; }
.ew-home-newsletter-form button { width:64px !important; border:0 !important; background:transparent !important; color:#fff !important; font-size:38px !important; line-height:1 !important; cursor:pointer !important; }
@media(max-width:700px){ .ew-home-newsletter-cta{padding:42px 18px 36px !important;} .ew-home-newsletter-cta h2{font-size:48px !important;margin-bottom:28px !important;} .ew-home-newsletter-form{width:100% !important;} }

/* =========================================================
   v5.13 — Category archives inspired by ESSENCE category pages
   ========================================================= */
.ew-category-archive{
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
    padding:52px 0 86px;
    color:#111;
}
.ew-category-archive a{
    color:inherit;
    text-decoration:none;
}
.ew-category-archive a:hover,
.ew-category-archive a:focus{
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}
.ew-category-header{
    width:calc(100% - 248px);
    margin:0 0 28px;
    text-align:center;
}
.ew-category-header h1{
    margin:0;
    font-family:"Times New Roman",Georgia,serif;
    font-size:46px;
    line-height:1;
    font-weight:400;
    letter-spacing:-.5px;
}
.ew-category-lead{
    display:grid;
    grid-template-columns:minmax(0,1fr) 220px;
    gap:34px;
    align-items:start;
}
.ew-category-image-link{
    display:block;
    overflow:hidden;
    background:#f3f3f3;
}
.ew-category-hero-image,
.ew-category-rail-image,
.ew-category-story-image{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.ew-category-hero-image{
    aspect-ratio:3/2;
}
.ew-category-hero-copy{
    max-width:800px;
    margin:0 auto;
    padding:8px 30px 0;
    text-align:center;
}
.ew-cat-meta{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:13px;
    margin:9px 0 6px;
    font-family:Arial,sans-serif;
    font-size:9px;
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.025em;
}
.ew-category-hero-copy .ew-cat-meta{
    justify-content:center;
}
.ew-cat-meta-category{
    color:#5b0075;
    font-weight:700;
}
.ew-cat-meta-date{
    color:#555;
}
.ew-category-hero h2{
    max-width:810px;
    margin:0 auto 9px;
    font-family:"Times New Roman",Georgia,serif;
    font-size:48px;
    line-height:.96;
    font-weight:400;
    letter-spacing:-1.1px;
}
.ew-category-hero-excerpt{
    max-width:680px;
    margin:0 auto 12px;
    font-family:"Times New Roman",Georgia,serif;
    font-size:12px;
    line-height:1.4;
    color:#5c5c5c;
}
.ew-category-byline{
    margin-top:8px;
    font-family:Arial,sans-serif;
    font-size:9px;
    line-height:1.25;
    color:#333;
}
.ew-category-rail{
    display:grid;
    gap:24px;
}
.ew-category-rail-card{
    min-width:0;
}
.ew-category-rail-image{
    aspect-ratio:4/3;
}
.ew-category-rail-card .ew-cat-meta{
    margin-top:7px;
    gap:9px;
    font-size:8px;
}
.ew-category-rail-card h3{
    margin:0;
    font-family:"Times New Roman",Georgia,serif;
    font-size:19px;
    line-height:1.02;
    font-weight:400;
    letter-spacing:-.2px;
}
.ew-category-rail-card .ew-category-byline{
    margin-top:7px;
    font-size:8px;
}
.ew-category-story-grid{
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);
    gap:44px 34px;
    align-items:start;
    margin-top:76px;
}
.ew-category-story-card:nth-child(4n+1),
.ew-category-story-card:nth-child(4n+4){
    padding-right:18px;
}
.ew-category-story-card:nth-child(4n+2),
.ew-category-story-card:nth-child(4n+3){
    padding-top:72px;
}
.ew-category-story-image{
    aspect-ratio:3/2;
}
.ew-category-story-card .ew-cat-meta{
    margin-top:9px;
}
.ew-category-story-card h2{
    margin:0;
    font-family:"Times New Roman",Georgia,serif;
    font-size:28px;
    line-height:1.02;
    font-weight:400;
    letter-spacing:-.4px;
}
.ew-category-empty{
    padding:80px 0;
    text-align:center;
    font-family:Arial,sans-serif;
    font-size:14px;
}
.ew-category-pagination{
    margin-top:64px;
    padding-top:24px;
    border-top:1px solid #bbb;
    font-family:Arial,sans-serif;
    font-size:11px;
    text-transform:uppercase;
}
.ew-category-pagination .nav-links{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
}
.ew-category-pagination .page-numbers.current{
    color:#5b0075;
    font-weight:700;
}

@media(max-width:900px){
    .ew-category-header{width:calc(100% - 208px);}
    .ew-category-lead{grid-template-columns:minmax(0,1fr) 180px;gap:24px;}
    .ew-category-hero h2{font-size:40px;}
    .ew-category-rail-card h3{font-size:17px;}
    .ew-category-story-grid{gap:36px 24px;margin-top:58px;}
    .ew-category-story-card h2{font-size:24px;}
}

@media(max-width:700px){
    .ew-category-archive{width:calc(100% - 28px);padding:32px 0 58px;}
    .ew-category-header{width:100%;margin-bottom:22px;text-align:left;}
    .ew-category-header h1{font-size:38px;}
    .ew-category-lead{display:block;}
    .ew-category-hero-copy{padding:8px 4px 0;}
    .ew-category-hero h2{font-size:36px;}
    .ew-category-hero-excerpt{font-size:12px;}
    .ew-category-rail{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:14px;
        margin-top:36px;
        padding-top:26px;
        border-top:1px solid #aaa;
    }
    .ew-category-rail-card h3{font-size:15px;}
    .ew-category-rail-card .ew-cat-meta{display:block;}
    .ew-category-rail-card .ew-cat-meta-date{display:block;margin-top:3px;}
    .ew-category-story-grid{
        grid-template-columns:1fr;
        gap:38px;
        margin-top:52px;
    }
    .ew-category-story-card:nth-child(n){padding:0;}
    .ew-category-story-card h2{font-size:25px;}
}

@media(max-width:480px){
    .ew-category-rail{grid-template-columns:1fr;gap:26px;}
    .ew-category-rail-card{
        display:grid;
        grid-template-columns:120px minmax(0,1fr);
        column-gap:14px;
        align-items:start;
    }
    .ew-category-rail-card .ew-category-image-link{grid-row:1/5;}
    .ew-category-rail-card .ew-cat-meta{margin:0 0 5px;}
    .ew-category-rail-card .ew-category-byline{margin-top:6px;}
}


/* =========================================================
   v5.18 — Homepage CONTENT editorial grid
   Reference-matched design: large centered CONTENT heading, no side rules,
   three-column cards, category + relative age, editorial title + excerpt,
   and a compact purple pill Load More control.
   ========================================================= */
.ew-continue-section{
    width:min(1020px,100%);
    margin-left:auto;
    margin-right:auto;
    padding-top:54px;
    padding-bottom:52px;
}
.ew-continue-section .ew-section-rule{
    display:block;
    margin:0 0 44px;
    text-align:center;
}
.ew-continue-section .ew-section-rule::before,
.ew-continue-section .ew-section-rule::after{
    display:none;
    content:none;
}
.ew-continue-section .ew-section-rule h2{
    margin:0;
    padding:0;
    font-family:"Bodoni MT",Didot,"Bodoni 72","Times New Roman",Georgia,serif;
    font-size:52px;
    line-height:.94;
    font-weight:400;
    letter-spacing:-1.2px;
    text-transform:uppercase;
}
.ew-continue-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:38px;
    row-gap:54px;
}
.ew-continue-card{
    min-width:0;
}
.ew-continue-card .ew-card-image-link{
    background:#f3f3f3;
}
.ew-continue-card .ew-card-image{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    object-fit:cover;
    object-position:center 22%;
}
.ew-continue-card .ew-story-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:8px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:8px;
    line-height:1.15;
    letter-spacing:.025em;
    text-transform:uppercase;
}
.ew-continue-card .ew-card-kicker{
    margin:0;
    color:#5b0075;
    font-weight:700;
    letter-spacing:.02em;
}
.ew-continue-card .ew-story-date{
    color:#444;
    font-weight:400;
}
.ew-continue-card h3{
    margin:6px 0 0;
    font-family:"Bodoni MT",Didot,"Bodoni 72","Times New Roman",Georgia,serif;
    font-size:19px;
    line-height:1.02;
    font-weight:400;
    letter-spacing:-.28px;
}
.ew-continue-card h3 a{
    color:#111;
    text-decoration:none;
}
.ew-continue-card h3 a:hover,
.ew-continue-card h3 a:focus{
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}
.ew-continue-excerpt{
    margin:8px 0 0;
    color:#4a4a4a;
    font-family:"Times New Roman",Georgia,serif;
    font-size:12px;
    line-height:1.28;
    font-weight:400;
}
.ew-continue-load-wrap{
    display:flex;
    justify-content:center;
    margin-top:94px;
}
.ew-continue-load-more{
    min-width:116px;
    min-height:34px;
    padding:10px 22px 9px;
    border:0;
    border-radius:999px;
    background:#5b0075;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:9px;
    line-height:1;
    font-weight:700;
    letter-spacing:.015em;
    text-transform:uppercase;
    cursor:pointer;
    transition:opacity .18s ease,transform .18s ease;
}
.ew-continue-load-more:hover,
.ew-continue-load-more:focus{
    background:#5b0075;
    color:#fff;
    opacity:.88;
    transform:translateY(-1px);
}
.ew-continue-load-more[disabled]{
    opacity:.55;
    cursor:wait;
    transform:none;
}
.ew-continue-load-more.is-done{
    display:none;
}
.ew-continue-status{
    min-height:18px;
    margin-top:10px;
    text-align:center;
    font-family:Arial,sans-serif;
    font-size:10px;
    color:#666;
}

@media(max-width:900px){
    .ew-continue-section{width:100%;}
    .ew-continue-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;row-gap:42px;}
    .ew-continue-section .ew-section-rule h2{font-size:46px;}
}
@media(max-width:620px){
    .ew-continue-section{padding-top:40px;padding-bottom:42px;}
    .ew-continue-section .ew-section-rule{margin-bottom:30px;}
    .ew-continue-section .ew-section-rule h2{font-size:39px;letter-spacing:-.8px;}
    .ew-continue-grid{grid-template-columns:1fr;gap:34px;}
    .ew-continue-card h3{font-size:22px;}
    .ew-continue-excerpt{font-size:13px;line-height:1.34;}
    .ew-continue-load-wrap{margin-top:52px;}
}

