/* Mazzraty Editorial / Legal / Fallback — v4.0 */

:root{
--mz-e-width:1180px;
    --mz-e-gutter:clamp(18px,3vw,32px);
}

.mz-editorial{
    background:var(--mz-color-background);
    color:var(--mz-color-text);
}

.mz-editorial-container{
    width:min(var(--mz-e-width),calc(100% - (var(--mz-e-gutter) * 2)));
    margin-inline:auto;
}

.mz-editorial-hero{
    position:relative;
    overflow:hidden;
    padding:70px 0 62px;
    background:
        radial-gradient(circle at 12% 12%,color-mix(in srgb, var(--mz-color-white) 58%, transparent) 0 7%,transparent 7.4%),
        linear-gradient(120deg,var(--mz-color-tone-f5e8d0),var(--mz-color-tone-e9d1a5));
}

.mz-editorial-hero::after{
    content:"";
    position:absolute;
    width:280px;
    height:180px;
    left:4%;
    bottom:-30px;
    opacity:.42;
    pointer-events:none;
    background-repeat:no-repeat;
    background-size:contain;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 180'><g fill='none' stroke='%235E6B3A' stroke-width='1.2' opacity='.45'><ellipse cx='50' cy='44' rx='15' ry='5' transform='rotate(-18 50 44)'/><ellipse cx='120' cy='30' rx='16' ry='5.3' transform='rotate(23 120 30)'/><ellipse cx='186' cy='70' rx='15' ry='5' transform='rotate(-28 186 70)'/><ellipse cx='88' cy='108' rx='14' ry='4.8' transform='rotate(18 88 108)'/><ellipse cx='210' cy='132' rx='16' ry='5.3' transform='rotate(16 210 132)'/></g></svg>");
}

.mz-editorial-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:13px;
    color:var(--mz-color-accent-dark);
    font-size:13px;
    font-weight:800;
}

.mz-editorial-kicker::before{
    content:"";
    width:28px;
    height:1px;
    background:currentColor;
}

.mz-editorial-hero h1{
    max-width:900px;
    margin:0 0 14px;
    color:var(--mz-color-primary);
    font-size:clamp(36px,4.7vw,62px);
    line-height:1.42;
    font-weight:850;
}

.mz-editorial-hero p{
    max-width:760px;
    margin:0;
    color:var(--mz-color-muted);
    font-size:15px;
    line-height:2;
}

.mz-editorial-section{
    padding:76px 0 88px;
}

.mz-editorial-heading{
    margin-bottom:32px;
}

.mz-editorial-heading h2{
    margin:0;
    color:var(--mz-color-primary);
    font-size:clamp(28px,3vw,40px);
    line-height:1.5;
}

.mz-editorial-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}

.mz-editorial-card{
    display:flex;
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--mz-color-border);
    border-radius:18px;
    background:var(--mz-color-white);
    box-shadow:0 14px 46px var(--mz-overlay-69-57-36-_045);
    transition:transform .22s ease,box-shadow .22s ease;
}

@media(hover:hover){
    .mz-editorial-card:hover{
        transform:translateY(-3px);
        box-shadow:0 20px 56px var(--mz-overlay-69-57-36-_09);
    }
}

.mz-editorial-card__visual{
    display:block;
    aspect-ratio:16/10;
    overflow:hidden;
    background:linear-gradient(145deg,var(--mz-color-tone-e7d1a8),var(--mz-color-tone-c89a54));
}

.mz-editorial-card__visual img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}

@media(hover:hover){
    .mz-editorial-card:hover .mz-editorial-card__visual img{
        transform:scale(1.025);
    }
}

.mz-editorial-card__placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 20% 20%,color-mix(in srgb, var(--mz-color-white) 24%, transparent),transparent 28%),
        linear-gradient(135deg,var(--mz-color-tone-d8b16c),var(--mz-color-tone-a77b3d));
    color:var(--mz-color-white);
}

.mz-editorial-card__placeholder span{
    font-size:11px;
    letter-spacing:4px;
    font-weight:850;
}

.mz-editorial-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:22px;
}

.mz-editorial-card__meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px 12px;
    margin-bottom:12px;
    color:var(--mz-color-muted);
    font-size:11px;
}

.mz-editorial-chip{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:3px 9px;
    border-radius:999px;
    background:var(--mz-color-tone-f4ebdd);
    color:var(--mz-color-accent-deep)!important;
    text-decoration:none!important;
    font-weight:750;
}

.mz-editorial-card h2{
    margin:0 0 10px;
    font-size:20px;
    line-height:1.7;
}

.mz-editorial-card h2 a{
    color:var(--mz-color-primary)!important;
    text-decoration:none!important;
}

.mz-editorial-card p{
    margin:0 0 18px;
    color:var(--mz-color-muted);
    font-size:13px;
    line-height:2;
}

.mz-editorial-card__link{
    margin-top:auto;
    color:var(--mz-color-accent-dark)!important;
    text-decoration:none!important;
    font-size:13px;
    font-weight:800;
}

.mz-editorial-feature{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    gap:0;
    overflow:hidden;
    margin-bottom:28px;
    border:1px solid var(--mz-color-border);
    border-radius:22px;
    background:var(--mz-color-white);
    box-shadow:0 18px 54px var(--mz-overlay-69-57-36-_06);
}

.mz-editorial-feature__visual{
    min-height:390px;
    background:linear-gradient(145deg,var(--mz-color-tone-e7d1a8),var(--mz-color-tone-c89a54));
}

.mz-editorial-feature__visual img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.mz-editorial-feature__body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:42px;
}

.mz-editorial-feature__body h2{
    margin:12px 0;
    color:var(--mz-color-primary);
    font-size:clamp(28px,3vw,42px);
    line-height:1.55;
}

.mz-editorial-feature__body p{
    margin:0 0 22px;
    color:var(--mz-color-muted);
    line-height:2.05;
}

/* Single article */
.mz-article-shell{
    width:min(850px,calc(100% - (var(--mz-e-gutter) * 2)));
    margin:0 auto;
}

.mz-article-breadcrumb{
    margin-bottom:16px;
    color:var(--mz-color-muted);
    font-size:12px;
}

.mz-article-breadcrumb a{
    color:var(--mz-color-accent-deep)!important;
    text-decoration:none!important;
}

.mz-article-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px 16px;
    align-items:center;
    margin-top:22px;
    color:var(--mz-color-muted);
    font-size:12px;
}

.mz-article-cover{
    width:min(1080px,calc(100% - (var(--mz-e-gutter) * 2)));
    margin:42px auto 0;
    overflow:hidden;
    border-radius:22px;
    background:var(--mz-color-tone-f1e5d3);
}

.mz-article-cover img{
    width:100%;
    max-height:620px;
    object-fit:cover;
    display:block;
}

.mz-article-content{
    padding:62px 0 38px;
    font-size:16px;
    line-height:2.15;
}

.mz-article-content > *{
    max-width:100%;
}

.mz-article-content p{
    margin:0 0 1.4em;
    color:var(--mz-color-tone-4d4b45);
}

.mz-article-content h2,
.mz-article-content h3{
    scroll-margin-top:96px;
    color:var(--mz-color-primary);
}

.mz-article-content h2{
    margin:2.1em 0 .8em;
    font-size:30px;
    line-height:1.55;
}

.mz-article-content h3{
    margin:1.8em 0 .7em;
    font-size:23px;
}

.mz-article-content ul,
.mz-article-content ol{
    margin:0 0 1.5em;
    padding-right:1.3em;
}

.mz-article-content li{
    margin-bottom:.5em;
}

.mz-article-content blockquote{
    margin:2em 0;
    padding:20px 24px;
    border-right:3px solid var(--mz-color-accent);
    border-radius:12px;
    background:var(--mz-color-tone-f8f1e6);
    color:var(--mz-color-tone-555149);
}

.mz-article-content img{
    max-width:100%;
    height:auto;
    border-radius:16px;
}

.mz-article-content a{
    color:var(--mz-color-accent-deep);
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}

.mz-article-content table{
    width:100%;
    border-collapse:collapse;
    margin:2em 0;
    overflow:hidden;
    border-radius:12px;
    font-size:14px;
}

.mz-article-content th,
.mz-article-content td{
    padding:12px 14px;
    border:1px solid var(--mz-color-border);
}

.mz-article-content th{
    background:var(--mz-color-tone-f5eddf);
    color:var(--mz-color-primary);
}

.mz-article-end{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:24px 0;
    border-top:1px solid var(--mz-color-border);
    border-bottom:1px solid var(--mz-color-border);
}

.mz-article-end a{
    color:var(--mz-color-accent-deep)!important;
    text-decoration:none!important;
    font-weight:750;
}

.mz-related-posts{
    padding:62px 0 82px;
    background:var(--mz-color-tone-f8f3ea);
}

/* Legal / generic */
.mz-legal-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 270px;
    gap:54px;
    align-items:start;
}

.mz-legal-copy{
    padding:34px;
    border:1px solid var(--mz-color-border);
    border-radius:18px;
    background:var(--mz-color-white);
    font-size:15px;
    line-height:2.15;
}

.mz-legal-copy h2,
.mz-legal-copy h3{
    scroll-margin-top:96px;
    color:var(--mz-color-primary);
}

.mz-legal-copy h2{
    margin:2em 0 .75em;
    font-size:27px;
}

.mz-legal-copy h2:first-child{
    margin-top:0;
}

.mz-legal-copy h3{
    margin:1.6em 0 .6em;
    font-size:20px;
}

.mz-legal-copy p,
.mz-legal-copy li{
    color:var(--mz-color-tone-504e48);
}

.mz-legal-copy a{
    color:var(--mz-color-accent-deep);
}

.mz-legal-toc{
    position:sticky;
    top:24px;
    padding:20px;
    border:1px solid var(--mz-color-border);
    border-radius:16px;
    background:var(--mz-color-tone-f8f2e8);
}

.mz-legal-toc strong{
    display:block;
    margin-bottom:12px;
    color:var(--mz-color-primary);
}

.mz-legal-toc ol{
    margin:0;
    padding:0;
    list-style:none;
}

.mz-legal-toc li + li{
    margin-top:8px;
}

.mz-legal-toc li.is-sub{
    padding-right:12px;
}

.mz-legal-toc a{
    color:var(--mz-color-tone-4c4a45)!important;
    text-decoration:none!important;
    font-size:12px;
    line-height:1.8;
}

.mz-legal-toc a:hover{
    color:var(--mz-color-accent-deep)!important;
}

.mz-legal-meta{
    display:flex;
    gap:10px;
    align-items:center;
    margin-top:18px;
    color:var(--mz-color-muted);
    font-size:12px;
}

.mz-generic-content{
    width:min(920px,calc(100% - (var(--mz-e-gutter) * 2)));
    margin:0 auto;
    padding:68px 0 86px;
}

.mz-generic-content .entry-content{
    padding:34px;
    border:1px solid var(--mz-color-border);
    border-radius:18px;
    background:var(--mz-color-white);
    line-height:2.1;
}

.mz-generic-content h2,
.mz-generic-content h3{
    color:var(--mz-color-primary);
}

/* Empty states / 404 */
.mz-empty-state{
    max-width:760px;
    margin:0 auto;
    padding:72px 34px;
    border:1px solid var(--mz-color-border);
    border-radius:22px;
    background:var(--mz-color-white);
    text-align:center;
}

.mz-empty-state__code{
    display:block;
    margin-bottom:10px;
    color:var(--mz-color-accent);
    font-size:64px;
    line-height:1;
    font-weight:900;
    letter-spacing:-3px;
}

.mz-empty-state h1,
.mz-empty-state h2{
    margin:0 0 12px;
    color:var(--mz-color-primary);
    font-size:clamp(28px,4vw,44px);
}

.mz-empty-state p{
    margin:0 auto 24px;
    max-width:560px;
    color:var(--mz-color-muted);
    line-height:2;
}

.mz-empty-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}

.mz-editorial-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:9px 18px;
    border-radius:9px;
    background:var(--mz-color-primary);
    color:var(--mz-color-white)!important;
    text-decoration:none!important;
    font-size:13px;
    font-weight:800;
}

.mz-editorial-btn--ghost{
    border:1px solid var(--mz-color-border);
    background:var(--mz-color-white);
    color:var(--mz-color-primary)!important;
}

/* Pagination */
.mz-editorial .pagination,
.mz-editorial .nav-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:7px;
    margin-top:38px;
}

.mz-editorial .page-numbers{
    min-width:42px;
    min-height:42px;
    display:grid;
    place-items:center;
    padding:6px 10px;
    border:1px solid var(--mz-color-border);
    border-radius:9px;
    background:var(--mz-color-white);
    color:var(--mz-color-primary)!important;
    text-decoration:none!important;
}

.mz-editorial .page-numbers.current{
    background:var(--mz-color-primary);
    color:var(--mz-color-white)!important;
}

/* Comments, if enabled */
.mz-article-comments{
    width:min(850px,calc(100% - (var(--mz-e-gutter) * 2)));
    margin:0 auto 80px;
}

.mz-article-comments .comments-area{
    padding:30px;
    border:1px solid var(--mz-color-border);
    border-radius:18px;
    background:var(--mz-color-white);
}

.mz-article-comments input,
.mz-article-comments textarea{
    border-radius:10px!important;
}

/* Product taxonomies */
.mz-shop-taxonomy-hero{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:66px 0 54px;
    background:linear-gradient(120deg,var(--mz-color-tone-f5e8d0),var(--mz-color-tone-e9d1a5));
}

.mz-shop-taxonomy-hero h1{
    margin:0 0 10px;
    color:var(--mz-color-primary);
    font-size:clamp(34px,4vw,52px);
}

.mz-shop-taxonomy-hero p{
    max-width:720px;
    margin:0;
    color:var(--mz-color-muted);
    line-height:2;
}

/* Focus treatment aligned with WCAG 2.2 expectations */
.mz-editorial :where(a,button,input,select,textarea,summary):focus-visible,
.mz-legal-toc a:focus-visible{
    outline:3px solid var(--mz-color-accent-light)!important;
    outline-offset:3px!important;
    border-radius:6px;
}

@media(max-width:900px){
    .mz-editorial-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .mz-editorial-feature{
        grid-template-columns:1fr;
    }

    .mz-editorial-feature__visual{
        min-height:300px;
    }

    .mz-legal-layout{
        grid-template-columns:1fr;
        gap:24px;
    }

    .mz-legal-toc{
        position:relative;
        top:auto;
        order:-1;
    }
}

@media(max-width:620px){
    :root{
        --mz-e-gutter:16px;
    }

    .mz-editorial-hero{
        padding:54px 0 46px;
    }

    .mz-editorial-section{
        padding:52px 0 64px;
    }

    .mz-editorial-grid{
        grid-template-columns:1fr;
    }

    .mz-editorial-feature__body{
        padding:24px;
    }

    .mz-editorial-feature__visual{
        min-height:230px;
    }

    .mz-article-content{
        padding-top:44px;
        font-size:15px;
    }

    .mz-article-content h2{
        font-size:25px;
    }

    .mz-legal-copy,
    .mz-generic-content .entry-content{
        padding:22px;
    }

    .mz-article-end{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media(prefers-reduced-motion:reduce){
    .mz-editorial-card,
    .mz-editorial-card__visual img{
        transition:none!important;
    }
}


/* v4.1 — ensure the WordPress Posts page uses the full custom magazine layout */
body.blog .hero-section,
body.blog .page-title,
body.blog .entry-header,
body.blog [class*="page-title"]{
    display:none!important;
}

body.blog #main-container,
body.blog main.site-main,
body.blog .site-main{
    padding-top:0!important;
    margin-top:0!important;
}

body.blog .site-main > .ct-container,
body.blog .ct-container{
    max-width:none!important;
    width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
}


/* v4.2 — category-aware magazine placeholders */
.mz-editorial-card__placeholder{
    position:relative;
    overflow:hidden;
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:
        radial-gradient(circle at 18% 20%,color-mix(in srgb, var(--mz-color-white) 30%, transparent) 0 14%,transparent 14.4%),
        radial-gradient(circle at 82% 78%,color-mix(in srgb, var(--mz-color-primary) 14%, transparent) 0 18%,transparent 18.4%),
        linear-gradient(135deg,var(--mz-color-tone-d8b16c),var(--mz-color-tone-b88a48) 56%,var(--mz-color-tone-8d6936));
}

.mz-editorial-card__placeholder::before,
.mz-editorial-card__placeholder::after{
    content:"";
    position:absolute;
    width:72px;
    height:24px;
    border:1.4px solid color-mix(in srgb, var(--mz-color-background) 38%, transparent);
    border-radius:50%;
    transform:rotate(-24deg);
}

.mz-editorial-card__placeholder::before{
    left:14%;
    bottom:18%;
}

.mz-editorial-card__placeholder::after{
    right:12%;
    top:18%;
    transform:rotate(22deg) scale(.8);
}

.mz-editorial-card__placeholder small,
.mz-editorial-card__placeholder strong{
    position:relative;
    z-index:1;
}

.mz-editorial-card__placeholder small{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:3px 10px;
    border:1px solid color-mix(in srgb, var(--mz-color-white) 24%, transparent);
    border-radius:999px;
    background:var(--mz-overlay-75-69-52-_18);
    color:var(--mz-color-background);
    font-size:11px;
    font-weight:750;
}

.mz-editorial-card__placeholder strong{
    color:var(--mz-color-background);
    font-size:15px;
    letter-spacing:4px;
    font-weight:900;
}
