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

*{
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;
}

.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-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 .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;
}
