/* Mazzraty global custom styles */

:root {
}

html,
body,
button,
input,
textarea,
select {
    font-family: 'Vazirmatn', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.ct-button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button {
    font-family: 'Vazirmatn', sans-serif;
}

body {
    font-feature-settings: "kern";
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}


/* Brand surfaces */
#header [data-row*="middle"] {
    background: var(--mz-color-primary);
}

#header [data-row*="middle"] a,
#header [data-row*="middle"] .ct-icon,
#header [data-row*="middle"] .site-title {
    color: var(--mz-color-background);
}

#header [data-row*="middle"] a:hover,
#header [data-row*="middle"] a[aria-current="page"] {
    color: var(--mz-color-accent-light);
}

footer.ct-footer,
#footer {
    background: var(--mz-color-primary);
    color: var(--mz-color-background);
}

footer.ct-footer a,
#footer a {
    color: var(--mz-color-background);
}

footer.ct-footer a:hover,
#footer a:hover {
    color: var(--mz-color-accent-light);
}


/* Strong, consistent Persian typography */
:root {
    --theme-font-family: 'Vazirmatn', sans-serif;
}

body,
.site-main,
.entry-content,
.ct-header,
.ct-footer,
nav,
.menu,
button,
input,
textarea,
select,
label,
.woocommerce,
.woocommerce-page {
    font-family: 'Vazirmatn', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.site-title,
.ct-button,
.wp-element-button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    font-family: 'Vazirmatn', sans-serif !important;
    letter-spacing: 0 !important;
}

body {
    font-weight: 400;
    line-height: 1.9;
}

p, li, td, th, label, input, textarea, select {
    letter-spacing: 0;
}


/* v2.4 — global refinement */
:root{
    --mz-content-width:1180px;
    --mz-global-gutter:clamp(18px,3vw,32px);
}

/* Search is unnecessary for a three-product store. */
#header [data-id*="search"],
#header .ct-header-search{
    display:none!important;
}

/* Slightly stronger navigation hierarchy. */
#header [data-row*="middle"]{
    min-height:82px;
}

#header [data-row*="middle"] .menu > li > a{
    font-size:14px!important;
    font-weight:650!important;
    letter-spacing:0!important;
}

#header [data-row*="middle"] .menu{
    gap:4px;
}

/* Replace the minimal Blocksy copyright strip with the Mazzraty footer. */
.ct-footer,
footer.ct-footer,
#footer{
    display:none!important;
}

.mz-site-footer{
    width:100%;
    background:var(--mz-color-primary-dark);
    color:var(--mz-color-footer-text);
    direction:rtl;
}

.mz-site-footer__inner{
    width:min(var(--mz-content-width), calc(100% - (var(--mz-global-gutter) * 2)));
    margin-inline:auto;
    display:grid;
    grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(0,.75fr));
    gap:44px;
    padding:64px 0 52px;
}

.mz-site-footer__brand{
    max-width:370px;
}

.mz-site-footer__name{
    margin-bottom:12px;
    color:var(--mz-color-background);
    font-size:30px;
    font-weight:850;
}

.mz-site-footer__brand p{
    margin:0 0 22px;
    color:color-mix(in srgb, var(--mz-color-background) 76%, transparent);
    font-size:14px;
    line-height:2;
}

.mz-site-footer__cta{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:8px 16px;
    border:1px solid color-mix(in srgb, var(--mz-color-accent-light) 55%, transparent);
    border-radius:9px;
    color:var(--mz-color-footer-accent)!important;
    text-decoration:none!important;
    font-size:13px;
    font-weight:750;
}

.mz-site-footer__cta:hover{
    background:var(--mz-color-accent);
    border-color:var(--mz-color-accent);
    color:var(--mz-color-text)!important;
}

.mz-site-footer__col{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
}

.mz-site-footer__col h3{
    margin:0 0 8px;
    color:var(--mz-color-footer-heading);
    font-size:15px;
    font-weight:800;
}

.mz-site-footer__col a{
    color:color-mix(in srgb, var(--mz-color-background) 78%, transparent)!important;
    text-decoration:none!important;
    font-size:13px;
    line-height:1.8;
}

.mz-site-footer__col a:hover{
    color:var(--mz-color-accent-light)!important;
}

.mz-site-footer__bottom{
    width:min(var(--mz-content-width), calc(100% - (var(--mz-global-gutter) * 2)));
    margin-inline:auto;
    padding:18px 0 20px;
    border-top:1px solid color-mix(in srgb, var(--mz-color-white) 12%, transparent);
    color:color-mix(in srgb, var(--mz-color-background) 52%, transparent);
    font-size:12px;
    text-align:center;
}

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

    .mz-site-footer__brand{
        max-width:none;
    }
}

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

    #header [data-row*="middle"]{
        min-height:72px;
    }

    .mz-site-footer__inner{
        grid-template-columns:1fr;
        gap:30px;
        padding:48px 0 38px;
    }

    .mz-site-footer__col{
        gap:8px;
    }
}






/* v2.9 — dedicated account + cart area at the top-left */
#header [data-row*="middle"] .ct-container,
#header [data-row*="middle"]{
    position:relative!important;
}

#header .mz-header-actions{
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    z-index:20;
    display:flex;
    align-items:center;
    gap:9px;
    direction:rtl;
    white-space:nowrap;
}

#header .mz-header-action,
#header .mz-header-actions .mz-header-cart-native > a,
#header .mz-header-actions .mz-header-cart-native a,
#header .mz-header-actions [data-id*="cart"] > a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-height:38px!important;
    padding:0 13px!important;
    border:1px solid color-mix(in srgb, var(--mz-color-accent-light) 50%, transparent)!important;
    border-radius:999px!important;
    background:color-mix(in srgb, var(--mz-color-white) 3%, transparent)!important;
    color:var(--mz-color-background)!important;
    text-decoration:none!important;
    box-shadow:none!important;
    transition:background-color .2s ease,border-color .2s ease,color .2s ease!important;
}

#header .mz-header-action:hover,
#header .mz-header-actions .mz-header-cart-native > a:hover,
#header .mz-header-actions .mz-header-cart-native a:hover,
#header .mz-header-actions [data-id*="cart"] > a:hover{
    border-color:var(--mz-color-accent-light)!important;
    background:var(--mz-color-accent)!important;
    color:var(--mz-color-text)!important;
}

#header .mz-header-action__icon{
    width:17px;
    height:17px;
    flex:0 0 17px;
    display:inline-grid;
    place-items:center;
}

#header .mz-header-action__icon svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

#header .mz-header-action__label{
    font-size:12px;
    font-weight:750;
}

/* Normalize Blocksy cart internals so it visually matches the account pill. */
#header .mz-header-actions .mz-header-cart-native,
#header .mz-header-actions [data-id*="cart"]{
    margin:0!important;
    padding:0!important;
    min-width:0!important;
    width:auto!important;
}

#header .mz-header-actions .ct-cart-content,
#header .mz-header-actions .ct-cart-label,
#header .mz-header-actions .ct-label{
    color:inherit!important;
    font-size:12px!important;
    font-weight:750!important;
}

#header .mz-header-actions .ct-icon,
#header .mz-header-actions svg{
    color:inherit!important;
}

#header .mz-header-actions .ct-cart-item,
#header .mz-header-actions .ct-cart-total,
#header .mz-header-actions .ct-cart-amount{
    color:inherit!important;
    font-size:12px!important;
    font-weight:750!important;
}

/* Badge: make it part of the brand palette instead of the default blue. */
#header .mz-header-actions .ct-cart-count,
#header .mz-header-actions [class*="cart-count"],
#header .mz-header-actions .count{
    background:var(--mz-color-accent-light)!important;
    color:var(--mz-color-text)!important;
    border:0!important;
    font-size:10px!important;
    font-weight:850!important;
}

/* Keep dropdowns functional after moving the cart. */
#header .mz-header-actions .ct-cart-content,
#header .mz-header-actions .ct-header-cart{
    position:relative;
}

#header .mz-header-actions .ct-cart-content + .sub-menu,
#header .mz-header-actions .ct-cart-content + .ct-cart-content,
#header .mz-header-actions [class*="cart-dropdown"]{
    direction:rtl;
}

/* Give the central navigation enough breathing room so it never collides with actions. */
@media(min-width:1000px){
    #header [data-row*="middle"] .ct-container{
        padding-left:270px!important;
    }
}

@media(max-width:999px){
    #header .mz-header-actions{
        position:static!important;
        transform:none!important;
        width:100%;
        justify-content:flex-start;
        padding:8px 14px 12px;
        background:color-mix(in srgb, var(--mz-color-white) 2.5%, transparent);
    }

    #header .mz-header-action,
    #header .mz-header-actions .mz-header-cart-native > a,
    #header .mz-header-actions .mz-header-cart-native a,
    #header .mz-header-actions [data-id*="cart"] > a{
        min-height:40px!important;
        padding:0 12px!important;
    }
}

@media(max-width:520px){
    #header .mz-header-actions{
        gap:7px;
    }

    #header .mz-header-action__label,
    #header .mz-header-actions .ct-cart-content,
    #header .mz-header-actions .ct-cart-label,
    #header .mz-header-actions .ct-label,
    #header .mz-header-actions .ct-cart-total,
    #header .mz-header-actions .ct-cart-amount{
        font-size:11px!important;
    }
}


/* v3.0 — compact premium header */
#header [data-row*="middle"]{
    min-height:68px!important;
}

#header [data-row*="middle"] .ct-container{
    min-height:68px!important;
}

#header [data-id*="logo"],
#header .site-branding{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:0!important;
}

#header [data-id*="logo"] img,
#header .site-branding img{
    max-height:42px!important;
    width:auto!important;
}

#header .site-title{
    margin-top:1px!important;
    line-height:1.1!important;
    font-size:20px!important;
}

#header .mz-brand-tagline{
    display:block;
    margin-top:2px;
    color:color-mix(in srgb, var(--mz-color-background) 72%, transparent);
    font-size:9px;
    font-weight:550;
    line-height:1.2;
    letter-spacing:0;
    white-space:nowrap;
}

#header [data-row*="middle"] .menu > li > a{
    min-height:68px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    font-size:13px!important;
    font-weight:650!important;
}

/* Keep account/cart pills proportionate to the more compact header. */
#header .mz-header-actions{
    gap:8px!important;
}

#header .mz-header-action,
#header .mz-header-actions .mz-header-cart-native > a,
#header .mz-header-actions .mz-header-cart-native a,
#header .mz-header-actions [data-id*="cart"] > a{
    min-height:34px!important;
    padding:0 12px!important;
}

#header .mz-header-action__label,
#header .mz-header-actions .ct-cart-content,
#header .mz-header-actions .ct-cart-label,
#header .mz-header-actions .ct-label,
#header .mz-header-actions .ct-cart-total,
#header .mz-header-actions .ct-cart-amount{
    font-size:11px!important;
}

@media(min-width:1000px){
    #header [data-row*="middle"] .ct-container{
        padding-left:250px!important;
    }
}

@media(max-width:999px){
    #header [data-row*="middle"],
    #header [data-row*="middle"] .ct-container{
        min-height:64px!important;
    }

    #header .mz-brand-tagline{
        font-size:8.5px;
    }
}

/* v3.0 — lightweight scroll reveal motion
 * Only opacity + transform are animated for smooth compositing.
 */
html.mz-motion-ready .mz-reveal{
    opacity:0;
    transform:translate3d(0,18px,0);
    transition:
        opacity 560ms cubic-bezier(.22,.61,.36,1) var(--mz-reveal-delay,0ms),
        transform 560ms cubic-bezier(.22,.61,.36,1) var(--mz-reveal-delay,0ms);
    will-change:opacity,transform;
}

html.mz-motion-ready .mz-reveal--soft{
    transform:translate3d(0,12px,0);
}

html.mz-motion-ready .mz-reveal.is-visible{
    opacity:1;
    transform:translate3d(0,0,0);
}

@media (prefers-reduced-motion: reduce){
    html .mz-reveal{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
        animation:none!important;
    }

    .mazzraty-hero__track,
    .mazzraty-hero__button,
    .mazzraty-hero__dot{
        transition:none!important;
    }
}

/* Avoid long-running GPU layers after reveal. */
html.mz-motion-ready .mz-reveal.is-visible{
    will-change:auto;
}


/* v3.1 — horizontal brand lockup: logo + brand name/tagline */
#header [data-id*="logo"],
#header .site-branding{
    display:grid!important;
    grid-template-columns:auto auto!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    row-gap:1px!important;
    align-items:center!important;
    justify-content:start!important;
    direction:rtl!important;
    text-align:right!important;
}

#header [data-id*="logo"] img,
#header .site-branding img{
    grid-column:1!important;
    grid-row:1 / 3!important;
    max-height:40px!important;
    width:auto!important;
    margin:0!important;
    align-self:center!important;
}

#header .site-title{
    grid-column:2!important;
    grid-row:1!important;
    margin:0!important;
    font-size:18px!important;
    line-height:1.1!important;
    text-align:right!important;
    align-self:end!important;
}

#header .mz-brand-tagline{
    grid-column:2!important;
    grid-row:2!important;
    margin:1px 0 0!important;
    color:color-mix(in srgb, var(--mz-color-background) 74%, transparent)!important;
    font-size:8.5px!important;
    font-weight:550!important;
    line-height:1.25!important;
    text-align:right!important;
    white-space:nowrap!important;
    align-self:start!important;
}

@media(max-width:999px){
    #header [data-id*="logo"],
    #header .site-branding{
        column-gap:8px!important;
    }

    #header [data-id*="logo"] img,
    #header .site-branding img{
        max-height:36px!important;
    }

    #header .site-title{
        font-size:17px!important;
    }

    #header .mz-brand-tagline{
        font-size:8px!important;
    }
}


/* v3.2 — decorative sesame motif backgrounds */
:root{
}

.mz-sesame-bg{
    position:relative;
    overflow:hidden;
    --mz-mx:0;
    --mz-my:0;
}

.mz-sesame-bg::before,
.mz-sesame-bg::after{
    content:"";
    position:absolute;
    pointer-events:none;
    z-index:0;
    opacity:.82;
    transition:transform .22s ease-out;
    background-repeat:no-repeat;
    background-size:contain;
}

.mz-sesame-bg > *{
    position:relative;
    z-index:1;
}

/* top-left cluster */
.mz-sesame-bg::before{
    width:280px;
    height:180px;
    top:-18px;
    left:-24px;
    transform:translate3d(calc(var(--mz-mx) * -8px), calc(var(--mz-my) * -8px), 0);
    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='%23c9b48a' stroke-width='1.45' stroke-linecap='round' opacity='.9'>\
<ellipse cx='58' cy='34' rx='17' ry='6' transform='rotate(-24 58 34)'/>\
<ellipse cx='132' cy='28' rx='16' ry='5.5' transform='rotate(18 132 28)'/>\
<ellipse cx='192' cy='54' rx='15' ry='5.2' transform='rotate(-12 192 54)'/>\
<ellipse cx='92' cy='78' rx='16' ry='5.3' transform='rotate(28 92 78)'/>\
<ellipse cx='164' cy='98' rx='14' ry='5' transform='rotate(-33 164 98)'/>\
<ellipse cx='42' cy='118' rx='15' ry='5.1' transform='rotate(15 42 118)'/>\
<ellipse cx='218' cy='118' rx='16' ry='5.4' transform='rotate(26 218 118)'/>\
<ellipse cx='112' cy='146' rx='15' ry='5.2' transform='rotate(-18 112 146)'/>\
</g></svg>");
}

/* bottom-right cluster */
.mz-sesame-bg::after{
    width:260px;
    height:170px;
    right:-20px;
    bottom:-20px;
    transform:translate3d(calc(var(--mz-mx) * 10px), calc(var(--mz-my) * 10px), 0);
    background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 170'>\
<g fill='none' stroke='%235c6d33' stroke-width='1.3' stroke-linecap='round' opacity='.5'>\
<ellipse cx='38' cy='30' rx='15' ry='5.1' transform='rotate(22 38 30)'/>\
<ellipse cx='96' cy='52' rx='14' ry='4.9' transform='rotate(-16 96 52)'/>\
<ellipse cx='160' cy='26' rx='16' ry='5.4' transform='rotate(12 160 26)'/>\
<ellipse cx='208' cy='66' rx='15' ry='5.2' transform='rotate(-28 208 66)'/>\
<ellipse cx='58' cy='100' rx='14' ry='5' transform='rotate(-34 58 100)'/>\
<ellipse cx='126' cy='116' rx='16' ry='5.4' transform='rotate(16 126 116)'/>\
<ellipse cx='198' cy='112' rx='14' ry='4.8' transform='rotate(29 198 112)'/>\
<ellipse cx='150' cy='146' rx='15' ry='5.1' transform='rotate(-22 150 146)'/>\
</g></svg>");
}

/* Alternate pattern for variety */
.mz-sesame-bg.mz-sesame-bg--alt::before{
    opacity:.7;
    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='%235c6d33' stroke-width='1.2' stroke-linecap='round' opacity='.42'>\
<ellipse cx='70' cy='24' rx='15' ry='5' transform='rotate(-14 70 24)'/>\
<ellipse cx='126' cy='58' rx='16' ry='5.4' transform='rotate(31 126 58)'/>\
<ellipse cx='200' cy='34' rx='14' ry='4.8' transform='rotate(12 200 34)'/>\
<ellipse cx='232' cy='88' rx='15' ry='5.1' transform='rotate(-21 232 88)'/>\
<ellipse cx='66' cy='108' rx='15' ry='5.1' transform='rotate(18 66 108)'/>\
<ellipse cx='126' cy='142' rx='16' ry='5.4' transform='rotate(-16 126 142)'/>\
</g></svg>");
}

.mz-sesame-bg.mz-sesame-bg--alt::after{
    opacity:.86;
    background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 170'>\
<g fill='none' stroke='%23d8c299' stroke-width='1.45' stroke-linecap='round' opacity='.88'>\
<ellipse cx='44' cy='42' rx='15' ry='5' transform='rotate(20 44 42)'/>\
<ellipse cx='102' cy='32' rx='15' ry='5.1' transform='rotate(-26 102 32)'/>\
<ellipse cx='162' cy='68' rx='16' ry='5.3' transform='rotate(14 162 68)'/>\
<ellipse cx='92' cy='104' rx='14' ry='4.8' transform='rotate(30 92 104)'/>\
<ellipse cx='190' cy='118' rx='16' ry='5.4' transform='rotate(-18 190 118)'/>\
<ellipse cx='132' cy='148' rx='15' ry='5' transform='rotate(16 132 148)'/>\
</g></svg>");
}

/* Make sure motifs stay subtle in dense content areas */
.mz-form.mz-sesame-bg::before,
.mz-form.mz-sesame-bg::after,
.mz-page-card.mz-sesame-bg::before,
.mz-page-card.mz-sesame-bg::after{
    opacity:.45;
}

@media(max-width:999px){
    .mz-sesame-bg::before{
        width:180px;
        height:120px;
        top:-10px;
        left:-14px;
    }

    .mz-sesame-bg::after{
        width:170px;
        height:115px;
        right:-12px;
        bottom:-12px;
    }
}

@media (prefers-reduced-motion: reduce){
    .mz-sesame-bg::before,
    .mz-sesame-bg::after{
        transition:none!important;
        transform:none!important;
    }
}


/* v3.3 — persistent Bale channel CTA + quick call */
.mz-floating-contact{
    position:fixed;
    left:18px;
    bottom:18px;
    z-index:999;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    pointer-events:none;
}

.mz-floating-contact > a{
    pointer-events:auto;
}

.mz-floating-bale{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:54px;
    padding:8px 14px 8px 10px;
    border:1px solid color-mix(in srgb, var(--mz-color-accent-light) 52%, transparent);
    border-radius:16px;
    background:color-mix(in srgb, var(--mz-color-primary-dark) 96%, transparent);
    color:var(--mz-color-background)!important;
    text-decoration:none!important;
    box-shadow:0 12px 34px var(--mz-overlay-35-42-24-_22);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
}

.mz-floating-bale:hover{
    transform:translateY(-2px);
    background:var(--mz-color-tone-59673a);
    border-color:var(--mz-color-accent-light);
    color:var(--mz-color-background)!important;
}

.mz-floating-bale__icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    flex:0 0 38px;
    border-radius:12px;
    background:var(--mz-color-accent-light);
    color:var(--mz-color-text);
}

.mz-floating-bale__icon svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.mz-floating-bale__text{
    display:flex;
    flex-direction:column;
    min-width:128px;
    line-height:1.25;
}

.mz-floating-bale__text strong{
    color:var(--mz-color-background);
    font-size:12px;
    font-weight:800;
}

.mz-floating-bale__text small{
    margin-top:3px;
    color:color-mix(in srgb, var(--mz-color-background) 68%, transparent);
    font-size:10px;
    font-weight:550;
}

.mz-floating-phone{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:36px;
    padding:0 11px;
    border-radius:999px;
    border:1px solid color-mix(in srgb, var(--mz-color-accent) 36%, transparent);
    background:color-mix(in srgb, var(--mz-color-background) 96%, transparent);
    color:var(--mz-color-primary)!important;
    text-decoration:none!important;
    box-shadow:0 8px 22px var(--mz-overlay-62-55-38-_12);
    font-size:11px;
    font-weight:750;
    transition:transform .2s ease,background-color .2s ease,color .2s ease;
}

.mz-floating-phone:hover{
    transform:translateY(-1px);
    background:var(--mz-color-accent);
    color:var(--mz-color-text)!important;
}

.mz-floating-phone span:first-child{
    width:17px;
    height:17px;
    display:grid;
    place-items:center;
}

.mz-floating-phone svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* Footer social/contact refs */
.mz-footer-socials{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}

.mz-footer-social{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:5px 10px;
    border:1px solid color-mix(in srgb, var(--mz-color-white) 13%, transparent);
    border-radius:999px;
    color:color-mix(in srgb, var(--mz-color-background) 76%, transparent)!important;
    text-decoration:none!important;
    font-size:11px;
    font-weight:700;
}

.mz-footer-social:hover{
    border-color:var(--mz-color-accent-light);
    color:var(--mz-color-accent-light)!important;
}

@media(max-width:760px){
    .mz-floating-contact{
        left:12px;
        bottom:12px;
    }

    .mz-floating-bale{
        min-height:50px;
        padding:7px 11px 7px 8px;
        border-radius:14px;
    }

    .mz-floating-bale__icon{
        width:34px;
        height:34px;
        flex-basis:34px;
        border-radius:10px;
    }

    .mz-floating-bale__text{
        min-width:112px;
    }

    .mz-floating-bale__text strong{
        font-size:11px;
    }

    .mz-floating-bale__text small{
        font-size:9.5px;
    }

    .mz-floating-phone{
        min-height:34px;
        font-size:10px;
    }
}

@media(max-width:420px){
    .mz-floating-bale__text{
        min-width:auto;
    }

    .mz-floating-bale__text small{
        display:none;
    }
}

@media(prefers-reduced-motion: reduce){
    .mz-floating-bale,
    .mz-floating-phone{
        transition:none!important;
    }
}


/* v4.0 — global accessibility polish */
:where(a,button,input,select,textarea,summary):focus-visible{
    outline:3px solid var(--mz-color-accent-light)!important;
    outline-offset:3px!important;
}

:where(h2[id],h3[id],h4[id]){
    scroll-margin-top:96px;
}

.mz-floating-contact{
    left:max(18px, env(safe-area-inset-left));
    bottom:max(18px, env(safe-area-inset-bottom));
}

@media(max-width:760px){
    .mz-floating-contact{
        left:max(12px, env(safe-area-inset-left));
        bottom:max(12px, env(safe-area-inset-bottom));
    }
}


/* ==========================================================
   v5.2 — RESPONSIVE HEADER GEOMETRY
   ----------------------------------------------------------
   Desktop:
   - brand is anchored to the right
   - menu is mathematically centered in the header/container
   - account/cart are anchored to the left

   Tablet / mobile:
   - desktop nav disappears with Blocksy's mobile header
   - brand remains on the right
   - menu trigger stays on the far left
   - account/cart become compact icon buttons next to the trigger
   ========================================================== */

#header [data-row*="middle"],
#header [data-row*="middle"] .ct-container{
    position:relative!important;
}

#header .mz-native-cart-hidden{
    display:none!important;
}

/* ---------- exact desktop centering ---------- */
@media (min-width:1000px){
    #header [data-row*="middle"] .ct-container{
        min-height:68px!important;
        padding-left:18px!important;
        padding-right:18px!important;
    }

    #header .mz-header-brand{
        position:absolute!important;
        right:18px!important;
        left:auto!important;
        top:50%!important;
        transform:translateY(-50%)!important;
        margin:0!important;
        z-index:12!important;
        max-width:210px!important;
    }

    #header .mz-primary-nav,
    #header [data-row*="middle"] [data-id="menu"],
    #header [data-row*="middle"] .ct-header-menu{
        position:absolute!important;
        left:50%!important;
        right:auto!important;
        top:0!important;
        bottom:auto!important;
        transform:translateX(-50%)!important;
        width:max-content!important;
        max-width:calc(100% - 440px)!important;
        height:68px!important;
        margin:0!important;
        z-index:11!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
    }

    #header .mz-primary-nav > nav,
    #header .mz-primary-nav .menu,
    #header [data-row*="middle"] [data-id="menu"] .menu,
    #header [data-row*="middle"] .ct-header-menu .menu{
        width:max-content!important;
        max-width:100%!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        flex-wrap:nowrap!important;
        white-space:nowrap!important;
    }

    #header .mz-header-actions{
        position:absolute!important;
        left:18px!important;
        right:auto!important;
        top:50%!important;
        transform:translateY(-50%)!important;
        width:auto!important;
        padding:0!important;
        margin:0!important;
        background:transparent!important;
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:center!important;
        justify-content:flex-start!important;
        z-index:13!important;
    }

    #header .mz-mobile-trigger{
        position:relative;
    }
}

/* ---------- compact desktop / landscape tablet ---------- */
@media (min-width:1000px) and (max-width:1240px){
    #header [data-row*="middle"] .ct-container{
        padding-inline:12px!important;
    }

    #header .mz-header-brand{
        right:12px!important;
        max-width:156px!important;
    }

    #header .mz-header-brand img{
        max-height:34px!important;
    }

    #header .mz-header-brand .site-title{
        font-size:16px!important;
    }

    #header .mz-brand-tagline{
        display:none!important;
    }

    #header .mz-header-actions{
        left:12px!important;
        gap:6px!important;
    }

    #header .mz-header-actions .mz-header-action{
        width:36px!important;
        min-width:36px!important;
        height:36px!important;
        min-height:36px!important;
        padding:0!important;
        border-radius:50%!important;
        gap:0!important;
        position:relative!important;
    }

    #header .mz-header-actions .mz-header-action__label{
        position:absolute!important;
        width:1px!important;
        height:1px!important;
        padding:0!important;
        margin:-1px!important;
        overflow:hidden!important;
        clip:rect(0,0,0,0)!important;
        white-space:nowrap!important;
        border:0!important;
    }

    #header .mz-primary-nav,
    #header [data-row*="middle"] [data-id="menu"],
    #header [data-row*="middle"] .ct-header-menu{
        max-width:calc(100% - 330px)!important;
    }

    #header [data-row*="middle"] .menu > li > a{
        min-height:68px!important;
        padding-left:7px!important;
        padding-right:7px!important;
        font-size:11.5px!important;
        letter-spacing:-.15px!important;
    }
}

/* ---------- Blocksy mobile/tablet header ---------- */
@media (max-width:999px){
    #header [data-row*="middle"],
    #header [data-row*="middle"] .ct-container{
        min-height:64px!important;
        height:64px!important;
    }

    #header [data-row*="middle"] .ct-container{
        padding-left:12px!important;
        padding-right:12px!important;
    }

    #header .mz-primary-nav{
        position:static!important;
        transform:none!important;
    }

    #header .mz-header-brand{
        position:absolute!important;
        right:12px!important;
        left:auto!important;
        top:50%!important;
        transform:translateY(-50%)!important;
        z-index:12!important;
        margin:0!important;
        max-width:calc(100% - 190px)!important;
        min-width:0!important;
    }

    #header .mz-header-brand img{
        max-height:34px!important;
        width:auto!important;
    }

    #header .mz-header-brand .site-title{
        font-size:16px!important;
    }

    #header .mz-brand-tagline{
        font-size:7.5px!important;
        max-width:130px!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    #header .mz-mobile-trigger{
        position:absolute!important;
        left:12px!important;
        right:auto!important;
        top:50%!important;
        transform:translateY(-50%)!important;
        margin:0!important;
        z-index:15!important;
    }

    #header .mz-header-actions{
        position:absolute!important;
        left:58px!important;
        right:auto!important;
        top:50%!important;
        transform:translateY(-50%)!important;
        width:auto!important;
        padding:0!important;
        margin:0!important;
        background:transparent!important;
        gap:6px!important;
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:center!important;
        justify-content:flex-start!important;
        z-index:14!important;
    }

    #header .mz-header-actions .mz-header-action{
        width:36px!important;
        min-width:36px!important;
        height:36px!important;
        min-height:36px!important;
        padding:0!important;
        border-radius:50%!important;
        gap:0!important;
        position:relative!important;
    }

    #header .mz-header-actions .mz-header-action__icon{
        width:18px!important;
        height:18px!important;
        flex:0 0 18px!important;
    }

    #header .mz-header-actions .mz-header-action__icon svg{
        width:18px!important;
        height:18px!important;
    }

    #header .mz-header-actions .mz-header-action__label{
        position:absolute!important;
        width:1px!important;
        height:1px!important;
        padding:0!important;
        margin:-1px!important;
        overflow:hidden!important;
        clip:rect(0,0,0,0)!important;
        white-space:nowrap!important;
        border:0!important;
    }
}

/* Small phones: protect the brand/action gap. */
@media (max-width:430px){
    #header .mz-header-brand{
        max-width:calc(100% - 174px)!important;
    }

    #header .mz-brand-tagline{
        display:none!important;
    }

    #header .mz-header-brand img{
        max-height:31px!important;
    }

    #header .mz-header-brand .site-title{
        font-size:15px!important;
    }

    #header .mz-header-actions{
        left:54px!important;
        gap:5px!important;
    }

    #header .mz-header-actions .mz-header-action{
        width:34px!important;
        min-width:34px!important;
        height:34px!important;
        min-height:34px!important;
    }

    #header .mz-mobile-trigger{
        left:10px!important;
    }
}

/* Very narrow phones: logo/name can shrink, controls remain usable. */
@media (max-width:350px){
    #header .mz-header-brand{
        right:8px!important;
        max-width:132px!important;
    }

    #header .mz-header-brand img{
        max-height:29px!important;
    }

    #header .mz-header-brand .site-title{
        font-size:14px!important;
    }

    #header .mz-header-actions{
        left:49px!important;
        gap:4px!important;
    }

    #header .mz-header-actions .mz-header-action{
        width:32px!important;
        min-width:32px!important;
        height:32px!important;
        min-height:32px!important;
    }

    #header .mz-mobile-trigger{
        left:7px!important;
    }
}

/* Custom cart badge */
#header .mz-header-cart-button .mz-header-action__icon{
    position:relative;
}

#header .mz-header-cart-count{
    position:absolute;
    top:-8px;
    right:-9px;
    min-width:16px;
    height:16px;
    padding:0 4px;
    display:none;
    place-items:center;
    border-radius:999px;
    background:var(--mz-color-accent-light);
    color:var(--mz-color-text);
    font-size:9px;
    line-height:1;
    font-weight:850;
    box-shadow:0 0 0 2px var(--mz-color-primary-dark);
}

#header .mz-header-cart-count.has-items{
    display:grid;
}
