body, .page, .page-empty{background-color:#f3efe9;}
.page-empty{padding:0;}
.header-container .header.container{
    padding: 0 clamp(28px, 4.5vw, 90px);
    background: #f4f1ed;
    border-bottom: 1px solid #e7e2dc;
}
.header > .logo{max-width: 200px; margin:0;}
.header > .logo img{width: 178px!important; max-width: 178px!important}
.header-container .header.container .cart-area{max-width:100%; flex:1}
.header-container .header.container .cart-area{display:flex;margin-top:0; align-items:center;}
.header-container.type5 .menu-area{flex-grow:1;}
.header-container .header.container .search-area{flex:unset;top:0;}
.header-container.type5 .menu-area{padding-right:0;}
.header-container.type5 .header-wrapper{margin-right:0;}
.header-container.type5 .mini-cart{position:relative; background-color:transparent;right:unset;top:unset;margin-top:unset;border:unset;}
.header .form-search button.button{background:transparent;}
.header-container.type5 .mybag-link{ height:initial; width: initial;line-height:initial;}
.header #search_mini_form{margin-right:0;}
.form-search svg{width:24px; height:24px;    fill: none;
    stroke: #000;}
.menu-all-pages-container ul.menu > li > a{text-transform:uppercase;}
.fixed-header ul.menu > li > a, .main-nav ul.menu > li > a{font-size:12px;}
.header .form-search button.button{top:3px;right:0;}
#search_mini_form.sa-open  .form-search button.button{right:6px;}
.header .form-search #search{height:38px;}
.va-contact-title {
    display: block;
    margin-bottom: 5px;
    color: #fff !important;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.va-footer-col h3 {
    margin:0 0 22px;
    color:#fff;

    font-weight:600;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.va-footer-col ul {
    margin:0;
    padding:0;
    list-style:none;
}

.va-footer-col li {
    margin-bottom:12px;
}

.va-footer-col a,
.va-footer-col span {
    color:#cecbc7;
    text-decoration:none;

    line-height:1.4;
    transition:color .2s ease;
}

.va-footer-col a:hover {
    color:#fff;
}
.va-contact-line {
    margin-bottom: 17px;
}
.va-payment-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 19px;
}
.va-payment-icons span {
    padding: 6px 8px;
    border: 1px solid #4c4c4c;
    border-radius: 2px;
    color: #fff;
    font-size: 9px;
    letter-spacing: .03em;
}
.va-service-strip {
    width:100%;
    padding:19px 32px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    align-items:center;
    border-top:1px solid #ddd7d0;
    border-bottom:1px solid #ddd7d0;
    background:#fff;
}

.va-service-item {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:9px;
    color:#302d29;
    font-size:11px;
    white-space:nowrap;
}

.va-service-item svg {
    width:18px;
    height:18px;
    flex:0 0 18px;
    fill:none;
    stroke:#9c774d;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.va-newsletter {
    width:100%;
    padding:58px 20px 48px;
    text-align:center;
    border-top:1px solid #e5e0da;
    background:#f4f1ed;

}

.va-newsletter h2 {
    margin:0 0 15px;
    color:#171512;
    font-family:"Times New Roman",serif;
    font-size:clamp(31px,3vw,46px);
    line-height:1.05;
    font-weight:400;
    letter-spacing:-.02em;
}

.va-newsletter p {
    margin:0 0 25px;
    color:#56514b;

    line-height:1.55;
}

.va-newsletter-form {
    width:100%;
    max-width:470px;
    height:44px;
    margin:0 auto;
    display:flex;
    border:1px solid #171717;
    background:#fff;
}

.va-newsletter-form input {
    flex:1;
    min-width:0;
    height:100%;
    padding:0 15px;
    border:0;
    outline:none;
    background:#fff;
    color:#111;
    font-family:inherit;

}

.va-newsletter-form input::placeholder {
    color:#77716a;
}

.va-newsletter-form button {
    width:138px;
    border:0;
    background:#111;
    color:#fff;

    font-weight:600;
    letter-spacing:.1em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .2s ease,color .2s ease;
}

.va-newsletter-form button:hover {
    background:#9c774d;
}

.va-newsletter-legal {
    max-width:470px;
    margin:17px auto 0;
    display:flex;
    gap:10px;
    align-items:flex-start;
    text-align:left;
    color:#514c46;

    line-height:1.45;
}

.va-newsletter-legal input {
    margin-top:2px;
    accent-color:#111;
}

.va-newsletter-legal a {
    color:#111;
    text-decoration:underline;
    text-underline-offset:2px;
}

@media (min-width:500px) {
    .header-container.type5 .mini-cart .account_top {
        margin: 0 20px;
    }
}
@media(max-width:1100px) {


    .va-service-strip {
        grid-template-columns:repeat(2,1fr);
    }
}
@media(max-width:767px) {
    .va-service-strip {
        grid-template-columns:1fr;
        padding:19px 18px;
        gap:15px;
    }
    .va-service-item {
        justify-content:flex-start;
        max-width:260px;
        width:100%;
        margin:0 auto;
    }
    .va-newsletter {
        padding:42px 18px 35px;
    }

    .va-newsletter h2 {
        font-size:31px;
    }

    .va-newsletter-form {
        height:42px;
    }

    .va-newsletter-form button {
        width:112px;
    }
}

/* =========================================================
   CUSTOMER ZONE (login, register, ...) — editorial layout
   Scope: body.customer-zone

   NOTE: this stylesheet is loaded early in the theme cascade,
   so generic element rules from other theme CSS (p, h1, h2,
   h3, label, input, button...) load after it and overwrite
   colors/paddings/line-heights/spacing here. Every such
   property below is pinned with !important. Pure layout
   mechanics (display, position, transform, grid tracks,
   transitions, cursor...) are left alone on purpose.
   ========================================================= */
:root {
    --cz-black:#0b0b0b;
    --cz-cream:#f3efe9;
    --cz-cream-soft:#f8f5f0;
    --cz-ink:#171512;
    --cz-muted:#6d675f;
    --cz-line:#d8d1c9;
    --cz-gold:#9d784f;
    --cz-green:#546d5a;
    --cz-red:#9b5a50;
    --cz-serif:"Times New Roman",serif;
}

.customer-zone,
.customer-zone *{
    box-sizing:border-box !important;
}

.customer-zone{
    min-height:100vh;
    margin:0 !important;
    padding:0 !important;
    background:var(--cz-cream) !important;
    color:var(--cz-ink) !important;
    -webkit-font-smoothing:antialiased;
}

.customer-zone a{
    color:inherit !important;
    text-decoration:none !important;
}

.customer-zone button,
.customer-zone input{
    font:inherit !important;
}

.cz-kicker{
    margin:0 0 13px !important;
    font-size:10px !important;
    font-weight:600 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
}

/* PAGE GRID */
.cz-auth-page{
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(420px,44%) minmax(0,56%);
    background:var(--cz-cream) !important;
}

/* EDITORIAL VISUAL PANEL */
.cz-auth-visual{
    position:relative;
    min-height:100vh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:clamp(30px,4vw,68px) !important;
    color:#fff !important;
    background:
        radial-gradient(circle at 78% 18%,rgba(255,255,255,.09),transparent 22%),
        radial-gradient(circle at 20% 78%,rgba(157,120,79,.22),transparent 34%),
        linear-gradient(145deg,#0a0a0a 0%,#171717 62%,#0f0f0f 100%) !important;
}

.cz-auth-visual::before,
.cz-auth-visual::after{
    content:"";
    position:absolute;
    border:1px solid rgba(233,223,194,.18) !important;
    border-radius:46% 54% 61% 39% / 55% 41% 59% 45% !important;
    pointer-events:none;
}

.cz-auth-visual::before{
    width:520px !important;
    height:690px !important;
    right:-190px;
    top:80px;
    transform:rotate(18deg);
}

.cz-auth-visual::after{
    width:420px !important;
    height:500px !important;
    left:-170px;
    bottom:-90px;
    transform:rotate(-21deg);
}

.cz-auth-brand{
    position:relative;
    z-index:2;
    display:inline-flex;
    width:max-content !important;
}

.cz-auth-brand img{
    width:clamp(145px,12vw,190px) !important;
    height:auto !important;
    display:block;
    filter:brightness(0) invert(1) !important;
}

.cz-auth-story{
    position:relative;
    z-index:2;
    max-width:560px !important;
    margin:60px 0 80px !important;
}

.cz-auth-story .cz-kicker{
    color:#c7b493 !important;
}

.cz-auth-story h1{
    margin:0 !important;
    font-family:var(--cz-serif) !important;
    font-size:clamp(46px,5.8vw,86px) !important;
    font-weight:400 !important;
    line-height:.96 !important;
    letter-spacing:-.035em !important;
    color:#fff !important;
}

.cz-auth-story p{
    max-width:480px !important;
    margin:25px 0 0 !important;
    color:#d1cec8 !important;
    font-size:13px !important;
    line-height:1.75 !important;
}

.cz-auth-benefits{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    background:rgba(255,255,255,.16) !important;
}

.cz-auth-benefit{
    min-height:120px !important;
    padding:18px 16px !important;
    background:rgba(0,0,0,.24) !important;
    backdrop-filter:blur(8px);
}

.cz-auth-benefit svg{
    width:21px !important;
    height:21px !important;
    margin-bottom:15px !important;
    fill:none !important;
    stroke:#d6c19b !important;
    stroke-width:1.45 !important;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.cz-auth-benefit strong{
    display:block;
    margin-bottom:5px !important;
    color:#fff !important;
    font-size:10px !important;
    font-weight:600 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
}

.cz-auth-benefit span{
    display:block;
    color:#aaa7a2 !important;
    font-size:9.5px !important;
    line-height:1.45 !important;
}

/* FORM PANEL */
.cz-auth-panel{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(34px,5vw,82px) !important;
    background:var(--cz-cream) !important;
}

.cz-auth-card{
    width:min(100%,560px) !important;
}

.cz-auth-heading{
    margin-bottom:38px !important;
}

.cz-auth-heading .cz-kicker{
    color:var(--cz-gold) !important;
}

.cz-auth-heading h2{
    margin:0 !important;
    font-family:var(--cz-serif) !important;
    font-size:clamp(41px,4vw,61px) !important;
    font-weight:400 !important;
    line-height:1 !important;
    letter-spacing:-.03em !important;
    color:var(--cz-ink) !important;
}

.cz-auth-heading p{
    margin:16px 0 0 !important;
    color:var(--cz-muted) !important;
    font-size:12.5px !important;
    line-height:1.65 !important;
}

/* MESSAGES (Magento notices) */
.customer-zone .messages{
    margin:0 0 22px !important;
    list-style:none !important;
    padding:0 !important;
}

.customer-zone .messages li li{
    list-style:none !important;
    margin:0 0 8px !important;
    padding:12px 16px !important;
    border-left:3px solid var(--cz-muted) !important;
    background:#fff !important;
    color:var(--cz-ink) !important;
    font-size:12px !important;
    line-height:1.5 !important;
}

.customer-zone .messages .error-msg li{
    border-left-color:#b23b3b !important;
}

.customer-zone .messages .success-msg li{
    border-left-color:#4c7a52 !important;
}

.customer-zone .messages .notice-msg li{
    border-left-color:var(--cz-gold) !important;
}

/* GOOGLE BUTTON */
.cz-google-button{
    width:100% !important;
    min-height:50px !important;
    border:1px solid #cfc7be !important;
    background:#fff !important;
    color:var(--cz-ink) !important;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px !important;
    cursor:pointer;
    font-size:12px !important;
    font-weight:600 !important;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

.cz-google-button:hover{
    border-color:#111 !important;
    box-shadow:0 8px 22px rgba(0,0,0,.07);
    transform:translateY(-1px);
}

.cz-google-icon{
    width:18px !important;
    height:18px !important;
    display:block;
}

.cz-divider{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:14px !important;
    margin:25px 0 !important;
    color:#8a837b !important;
    font-size:10px !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
}

.cz-divider::before,
.cz-divider::after{
    content:"";
    height:1px !important;
    background:var(--cz-line) !important;
}

/* FORM FIELDS */
.cz-form-group{
    margin-bottom:19px !important;
}

.cz-label{
    display:block;
    margin-bottom:8px !important;
    color:#2c2925 !important;
    font-size:10px !important;
    font-weight:600 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase !important;
}

.cz-required{
    color:var(--cz-gold) !important;
}

.cz-input-wrap{
    position:relative;
}

.cz-input{
    width:100% !important;
    height:50px !important;
    border:0 !important;
    border-bottom:1px solid #9c958d !important;
    border-radius:0 !important;
    outline:none !important;
    padding:0 42px 0 0 !important;
    background:transparent !important;
    color:var(--cz-ink) !important;
    font-size:14px !important;
    transition:border-color .2s ease;
}

.cz-input:focus{
    border-color:var(--cz-black) !important;
}

.cz-eye{
    position:absolute;
    top:50%;
    right:0;
    width:34px !important;
    height:34px !important;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#726b64 !important;
    cursor:pointer;
}

.cz-eye svg{
    width:19px !important;
    height:19px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.5 !important;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.cz-form-additional:empty{
    display:none;
}

.cz-form-additional{
    margin-bottom:19px !important;
}

/* REMEMBER ME / FORGOT ROW */
.cz-login-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px !important;
    margin:6px 0 25px !important;
}

.cz-remember-list{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.cz-remember-list li{
    display:flex;
    align-items:center;
    gap:8px !important;
    color:#4f4a45 !important;
    font-size:11px !important;
    margin:0 !important;
    padding:0 !important;
}

.cz-remember-list .input-box{
    display:contents;
}

.cz-remember-list input[type="checkbox"]{
    width:14px !important;
    height:14px !important;
    margin:0 !important;
    accent-color:#111 !important;
}

.cz-remember-list label{
    cursor:pointer;
    color:#4f4a45 !important;
    font-size:11px !important;
    font-weight:400 !important;
    margin:0 !important;
}

.cz-remember-list .link-tip{
    margin-left:2px !important;
    color:#8a837b !important;
    font-size:10px !important;
    text-decoration:underline !important;
    text-underline-offset:2px !important;
}

.cz-forgot{
    flex:0 0 auto;
    color:#2f2b27 !important;
    font-size:11px !important;
    border-bottom:1px solid currentColor !important;
    text-underline-offset:3px !important;
}

.cz-forgot:hover{
    color:var(--cz-gold) !important;
}

/* SUBMIT */
.cz-primary-button{
    width:100% !important;
    min-height:52px !important;
    border:1px solid var(--cz-black) !important;
    background:var(--cz-black) !important;
    color:#fff !important;
    font-size:10.5px !important;
    font-weight:600 !important;
    letter-spacing:.11em !important;
    text-transform:uppercase !important;
    cursor:pointer;
    transition:background .2s ease,color .2s ease;
}

.cz-primary-button:hover{
    background:transparent !important;
    color:var(--cz-black) !important;
}

.cz-note{
    margin:18px 0 0 !important;
    color:#8b847d !important;
    font-size:9.5px !important;
    line-height:1.5 !important;
}

/* NEW ACCOUNT CTA */
.cz-new-account{
    margin-top:34px !important;
    padding-top:28px !important;
    border-top:1px solid var(--cz-line) !important;
}

.cz-new-account__row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px !important;
}

.cz-new-account h3{
    margin:0 0 7px !important;
    font-family:var(--cz-serif) !important;
    font-size:27px !important;
    font-weight:400 !important;
    line-height:1 !important;
    color:var(--cz-ink) !important;
}

.cz-new-account p{
    max-width:320px !important;
    margin:0 !important;
    color:var(--cz-muted) !important;
    font-size:11px !important;
    line-height:1.55 !important;
}

.cz-secondary-button{
    flex:0 0 auto;
    min-width:150px !important;
    min-height:46px !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 20px !important;
    border:1px solid var(--cz-black) !important;
    background:transparent !important;
    color:var(--cz-black) !important;
    font-size:10px !important;
    font-weight:600 !important;
    letter-spacing:.09em !important;
    text-transform:uppercase !important;
    cursor:pointer;
    transition:background .2s ease,color .2s ease;
}

.cz-secondary-button:hover{
    background:var(--cz-black) !important;
    color:#fff !important;
}

.cz-back-home{
    display:inline-flex;
    align-items:center;
    gap:9px !important;
    margin-top:30px !important;
    color:#69625c !important;
    font-size:10px !important;
    letter-spacing:.05em !important;
    text-transform:uppercase !important;
}

.cz-back-home::before{
    content:"←";
    font-size:15px !important;
    transition:transform .2s ease;
}

.cz-back-home:hover::before{
    transform:translateX(-3px);
}

/* When used as the first element of the form panel (forgot password) instead
   of trailing it (login/register), flip the spacing to sit above the form. */
.cz-auth-card > .cz-back-home:first-child{
    margin-top:0 !important;
    margin-bottom:48px !important;
}

.cz-primary-button--auto{
    width:auto !important;
    min-width:188px !important;
    padding:0 24px !important;
}

/* FORGOT PASSWORD: trust badge in the visual panel */
.cz-recovery-trust{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:13px !important;
    color:#b9b5af !important;
    font-size:10px !important;
    line-height:1.5 !important;
}

.cz-recovery-trust svg{
    width:22px !important;
    height:22px !important;
    flex:0 0 22px;
    fill:none !important;
    stroke:#d7c19c !important;
    stroke-width:1.45 !important;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* FORGOT PASSWORD: submit row (note + button side by side) */
.cz-recovery-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px !important;
    margin-top:29px !important;
}

.cz-recovery-actions .cz-note{
    margin:0 !important;
}

/* FORGOT PASSWORD: "didn't get the email" helper box */
.cz-recovery-helper{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:14px !important;
    align-items:start;
    margin-top:38px !important;
    padding-top:24px !important;
    border-top:1px solid var(--cz-line) !important;
}

.cz-recovery-helper svg{
    width:21px !important;
    height:21px !important;
    margin-top:2px !important;
    fill:none !important;
    stroke:var(--cz-gold) !important;
    stroke-width:1.45 !important;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.cz-recovery-helper strong{
    display:block;
    margin-bottom:6px !important;
    color:#2c2925 !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:.035em !important;
}

.cz-recovery-helper p{
    margin:0 !important;
    color:var(--cz-muted) !important;
    font-size:11px !important;
    line-height:1.65 !important;
}

.cz-recovery-support{
    margin-top:31px !important;
    color:#756e67 !important;
    font-size:10.5px !important;
    line-height:1.6 !important;
}

.cz-recovery-support a{
    color:var(--cz-ink) !important;
    border-bottom:1px solid currentColor !important;
}

/* RESET PASSWORD: live strength rules + match status */
.cz-password-rules{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px !important;
    margin:6px 0 30px !important;
}

.cz-rule{
    min-height:72px;
    padding:13px 12px !important;
    border:1px solid var(--cz-line) !important;
    background:rgba(255,255,255,.25) !important;
    color:#746d65 !important;
    font-size:10px !important;
    line-height:1.45 !important;
    transition:border-color .2s ease,color .2s ease,background .2s ease;
}

.cz-rule::before{
    content:"";
    width:7px;
    height:7px;
    display:block;
    margin-bottom:9px !important;
    border-radius:50%;
    background:#c7c0b8;
    transition:background .2s ease;
}

.cz-rule.is-valid{
    border-color:rgba(84,109,90,.5) !important;
    color:var(--cz-green) !important;
    background:rgba(84,109,90,.05) !important;
}

.cz-rule.is-valid::before{
    background:var(--cz-green);
}

.cz-match-status{
    min-height:18px;
    margin:-10px 0 22px !important;
    color:var(--cz-muted) !important;
    font-size:10px !important;
}

.cz-match-status.is-valid{
    color:var(--cz-green) !important;
}

.cz-match-status.is-error{
    color:var(--cz-red) !important;
}

@media(max-width:500px){
    .cz-recovery-actions{
        align-items:stretch;
        flex-direction:column-reverse;
    }

    .cz-primary-button--auto{
        width:100% !important;
    }
}

/* TABLET */
@media(max-width:1020px){
    .cz-auth-page{
        grid-template-columns:minmax(330px,40%) minmax(0,60%);
    }

    .cz-auth-benefits{
        grid-template-columns:1fr;
    }

    .cz-auth-benefit{
        min-height:auto !important;
    }

    .cz-password-rules{
        grid-template-columns:1fr;
    }

    .cz-rule{
        min-height:auto;
    }
}

/* MÓVIL */
@media(max-width:760px){
    .cz-auth-page{
        display:block;
    }

    .cz-auth-visual{
        min-height:410px !important;
        padding:28px 22px 30px !important;
    }

    .cz-auth-story{
        margin:55px 0 35px !important;
    }

    .cz-auth-story h1{
        font-size:50px !important;
    }

    .cz-auth-story p{
        font-size:12px !important;
    }

    .cz-auth-benefits,
    .cz-recovery-trust{
        display:none;
    }

    .cz-auth-panel{
        min-height:auto !important;
        padding:48px 22px 60px !important;
    }

    .cz-auth-heading{
        margin-bottom:31px !important;
    }

    .cz-new-account__row{
        align-items:flex-start;
        flex-direction:column;
    }

    .cz-secondary-button{
        width:100% !important;
    }
}

@media(max-width:460px){
    .cz-login-meta{
        align-items:flex-start;
        flex-direction:column;
        gap:12px !important;
    }

    .cz-auth-story h1{
        font-size:43px !important;
    }
}

/* =========================================================
   REGISTER VARIANT + generic theming for Magento-rendered
   widget fields (customer/widget_name, widget_dob,
   widget_taxvat, widget_gender, country select) that we
   don't override — they already output label/.input-box/
   .input-text markup, so it's themed generically here
   instead of duplicating those core templates.
   ========================================================= */
.cz-auth-page--wide{
  /*  grid-template-columns:minmax(380px,34%) minmax(0,66%);*/
}

.cz-auth-card--wide{
    width:min(100%,720px) !important;
}

.cz-fieldset{
    margin-bottom:30px !important;
    padding-bottom:26px !important;
    border-bottom:1px solid var(--cz-line) !important;
}

.cz-fieldset:last-of-type{
    border-bottom:0 !important;
    padding-bottom:0 !important;
}

.cz-legend{
    margin:0 0 20px !important;
    font-family:var(--cz-serif) !important;
    font-size:19px !important;
    font-weight:400 !important;
    line-height:1 !important;
    color:var(--cz-ink) !important;
}

.cz-fields-row{
    display:flex;
    flex-wrap:wrap;
    gap:16px !important;
}

.cz-fields-row .cz-form-group{
    flex:1 1 200px;
    min-width:0;
    margin-bottom:0 !important;
}

.cz-checkbox-row{
    display:flex;
    align-items:center;
    gap:8px !important;
    margin:0 0 19px !important;
    color:#4f4a45 !important;
    font-size:11px !important;
    cursor:pointer;
}

.cz-checkbox-row input{
    width:14px !important;
    height:14px !important;
    margin:0 !important;
    accent-color:#111 !important;
}

/* Fallback theming, in case any untouched core widget still outputs
   the plain label/.input-box/.input-text markup instead of cz-* classes */
.customer-zone .input-box .input-text,
.customer-zone .input-box select{
    width:100% !important;
    height:50px !important;
    border:0 !important;
    border-bottom:1px solid #9c958d !important;
    border-radius:0 !important;
    outline:none !important;
    padding:0 12px 0 0 !important;
    background:transparent !important;
    color:var(--cz-ink) !important;
    font-size:14px !important;
    transition:border-color .2s ease;
}

.customer-zone .input-box .input-text:focus,
.customer-zone .input-box select:focus{
    border-color:var(--cz-black) !important;
}

/* DOB widget: Varien.DOB (js/varien/js.js) reads the "customer-dob",
   "dob-day", "dob-month", "dob-year", "dob-full" class names directly
   via Element.select — those are kept as-is in the template, only
   the visuals are themed here via the added "cz-dob-row" class. */
.cz-dob-row{
    display:flex;
    gap:10px !important;
}

.cz-dob-row > div{
    flex:1;
}

.cz-dob-row .input-text{
    text-align:center !important;
}

.cz-dob-row label{
    display:block !important;
    margin-top:6px !important;
    text-align:center !important;
    color:#8a837b !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
}

/* MOBILE */
@media(max-width:760px){
    .cz-auth-page--wide{
        grid-template-columns:unset;
    }

    .cz-fields-row{
        flex-direction:column;
        gap:0 !important;
    }

    .cz-fields-row .cz-form-group{
        margin-bottom:19px !important;
    }
}

/* =========================================================
   ACCOUNT DASHBOARD — editorial layout
   Scope: body.customer-zone (customer_account_index)
   ========================================================= */
/* Outer 2-column shell — .cz-account-shell is a wrapper we own (added in
   page/empty2.phtml around .col-main + .col-left.sidebar) specifically so
   this grid doesn't fight porto's own generic float-based 2-column CSS,
   which also targets .col-main/.col-left.sidebar elsewhere on the site.
   Every layout property here is !important for the same reason: those
   generic rules apply to the very same class names. */
.cz-account-shell{
    display:grid !important;
    grid-template-columns:300px minmax(0,1fr) !important;
    min-height:100vh !important;
    width:100% !important;
    background:var(--cz-cream) !important;
}

.customer-zone .cz-account-shell .col-main{
    grid-column:2 !important;
    grid-row:1 !important;
    float:none !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:clamp(34px,5vw,78px) !important;
}

/* DARK SIDEBAR — real Magento left column:
   .cz-sidebar-top / .cz-mobile-account-nav (our chrome template) +
   .block-account (customer/account_navigation) +
   .block-reorder (sales/reorder_sidebar), all styled here as-is. */
.customer-zone .cz-account-shell .col-left.sidebar{
    grid-column:1 !important;
    grid-row:1 !important;
    float:none !important;
    width:auto !important;
    margin:0 !important;
    position:sticky !important;
    top:0 !important;
    min-height:100vh !important;
    display:flex !important;
    flex-direction:column !important;
    padding:34px 28px 28px !important;
    color:#fff !important;
    background:
        radial-gradient(circle at 20% 10%,rgba(255,255,255,.04),transparent 24%),
        linear-gradient(155deg,#111 0%,#090909 100%) !important;
}

.cz-account-logo{
    display:inline-flex;
    width:max-content !important;
    margin-bottom:55px !important;
}

.cz-account-logo img{
    width:160px !important;
    height:auto !important;
    display:block;
    filter:brightness(0) invert(1) !important;
}

.cz-sidebar-label{
    margin:0 0 16px !important;
    color:#9f9a94 !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.15em !important;
    text-transform:uppercase !important;
}

.cz-sidebar-user{
    margin-bottom:34px !important;
    padding-bottom:26px !important;
    border-bottom:1px solid rgba(255,255,255,.14) !important;
}

.cz-sidebar-user strong{
    display:block;
    margin-bottom:5px !important;
    font-family:var(--cz-serif) !important;
    font-size:26px !important;
    font-weight:400 !important;
}

.cz-sidebar-user span{
    display:block;
    color:#a9a5a0 !important;
    font-size:10px !important;
    line-height:1.5 !important;
}

/* .block-account: Magento's real account nav */
.customer-zone .col-left.sidebar .block-account{
    border:0 !important;
    background:transparent !important;
}

.customer-zone .col-left.sidebar .block-account .block-title{
    display:none !important;
}

.customer-zone .col-left.sidebar .block-account .block-content{
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
}

.customer-zone .col-left.sidebar .block-account .block-content ul{
    display:grid !important;
    gap:3px !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.customer-zone .col-left.sidebar .block-account .block-content ul li{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
    background:none !important;
    border:0 !important;
}

.customer-zone .col-left.sidebar .block-account .block-content ul li a,
.customer-zone .col-left.sidebar .block-account .block-content ul li strong{
    position:relative;
    min-height:47px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 0 0 16px !important;
    margin:0 !important;
    color:#bdb9b4 !important;
    font-size:11px !important;
    font-weight:400 !important;
    letter-spacing:.025em !important;
    background:transparent !important;
    transition:color .2s ease,background .2s ease;
}

.customer-zone .col-left.sidebar .block-account .block-content ul li::before{
    content:"";
    position:absolute;
    width:2px;
    height:47px;
    background:transparent;
}

.customer-zone .col-left.sidebar .block-account .block-content ul li a:hover{
    color:#fff !important;
    background:rgba(255,255,255,.045);
}

.customer-zone .col-left.sidebar .block-account .block-content ul li.current strong{
    color:#fff !important;
    background:rgba(255,255,255,.045);
}

.customer-zone .col-left.sidebar .block-account .block-content ul li.current::before{
    background:var(--cz-gold);
}

.customer-zone .col-left.sidebar .block-account .block-content ul li.last{
    margin-top:16px !important;
    padding-top:16px !important;
    border-top:1px solid rgba(255,255,255,.14) !important;
}

.customer-zone .col-left.sidebar .block-account .block-content ul li.last a{
    min-height:auto;
    color:#928e89 !important;
    font-size:9px !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

/* .block-reorder: last ordered items */
.customer-zone .col-left.sidebar .block-reorder{
    margin-top:26px !important;
    padding:18px !important;
    border:1px solid rgba(255,255,255,.15) !important;
    background:rgba(255,255,255,.035) !important;
}

.customer-zone .col-left.sidebar .block-reorder .block-title{
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
    margin:0 !important;
}

.customer-zone .col-left.sidebar .block-reorder .block-title span{
    display:block !important;
    margin:0 0 10px !important;
    color:#c6b28f !important;
    font-size:8.5px !important;
    font-weight:600 !important;
    letter-spacing:.11em !important;
    text-transform:uppercase !important;
}

.customer-zone .col-left.sidebar .block-reorder .block-subtitle{
    margin:0 0 12px !important;
    color:#fff !important;
    font-family:var(--cz-serif) !important;
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.15 !important;
}

.customer-zone .col-left.sidebar .block-reorder ol{
    margin:0 0 14px !important;
    padding:0 !important;
    list-style:none !important;
}

.customer-zone .col-left.sidebar .block-reorder ol li{
    margin:0 0 8px !important;
    padding:0 !important;
    list-style:none !important;
}

.customer-zone .col-left.sidebar .block-reorder ol li .product-name{
    margin:0 !important;
}

.customer-zone .col-left.sidebar .block-reorder ol li .product-name a{
    color:#aaa6a0 !important;
    font-size:10px !important;
    line-height:1.55 !important;
}

.customer-zone .col-left.sidebar .block-reorder ol li .product-name a:hover{
    color:#fff !important;
}

.customer-zone .col-left.sidebar .block-reorder ol li input[type="checkbox"]{
    margin-right:6px !important;
    accent-color:var(--cz-gold);
}

.customer-zone .col-left.sidebar .block-reorder .actions{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    margin:0 !important;
    padding:0 !important;
}

.customer-zone .col-left.sidebar .block-reorder .actions .button{
    min-height:34px !important;
    height:auto !important;
    padding:0 14px !important;
    border:1px solid rgba(255,255,255,.55) !important;
    background:transparent !important;
    color:#fff !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    cursor:pointer;
}

.customer-zone .col-left.sidebar .block-reorder .actions .button span{
    background:none !important;
    padding:0 !important;
    color:#fff !important;
    font-size:9px !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

.customer-zone .col-left.sidebar .block-reorder .actions a{
    color:#fff !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    border-bottom:1px solid currentColor !important;
}

/* MAIN CONTENT (padding lives on .col-main now, shared by all account pages) */
.cz-account-main{
    min-width:0;
}

.cz-account-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:30px !important;
    align-items:end;
    margin-bottom:40px !important;
}

.cz-account-title{
    margin:0 !important;
    font-family:var(--cz-serif) !important;
    font-size:clamp(44px,5vw,74px) !important;
    font-weight:400 !important;
    line-height:.95 !important;
    letter-spacing:-.035em !important;
    color:var(--cz-ink) !important;
}

.cz-account-subtitle{
    max-width:650px;
    margin:18px 0 0 !important;
    color:var(--cz-muted) !important;
    font-size:12.5px !important;
    line-height:1.7 !important;
}

.cz-account-logout{
    min-width:145px;
    min-height:45px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 18px !important;
    border:1px solid var(--cz-black) !important;
    color:var(--cz-black) !important;
    font-size:9.5px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    transition:background .2s ease,color .2s ease;
}

.cz-account-logout:hover{
    background:var(--cz-black) !important;
    color:#fff !important;
}

.cz-welcome-banner{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:25px !important;
    align-items:center;
    margin-bottom:26px !important;
    padding:24px 26px !important;
    color:#fff !important;
    background:
        radial-gradient(circle at 88% 25%,rgba(255,255,255,.09),transparent 24%),
        linear-gradient(120deg,#171717,#0d0d0d) !important;
}

.cz-welcome-banner::after{
    content:"";
    position:absolute;
    width:240px;
    height:240px;
    right:-90px;
    bottom:-145px;
    border:1px solid rgba(233,223,194,.2);
    border-radius:48% 52% 62% 38% / 58% 44% 56% 42%;
}

.cz-welcome-banner strong{
    position:relative;
    z-index:1;
    display:block;
    margin-bottom:5px !important;
    font-family:var(--cz-serif) !important;
    font-size:26px !important;
    font-weight:400 !important;
    color:#fff !important;
}

.cz-welcome-banner p{
    position:relative;
    z-index:1;
    margin:0 !important;
    color:#bbb7b2 !important;
    font-size:11px !important;
    line-height:1.55 !important;
}

.cz-welcome-banner a{
    position:relative;
    z-index:1;
    min-width:130px;
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.55) !important;
    color:#fff !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

/* STATS */
.cz-account-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px !important;
    margin-bottom:40px !important;
}

.cz-stat{
    min-height:145px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:20px !important;
    border:1px solid var(--cz-line) !important;
    background:rgba(255,255,255,.38) !important;
}

.cz-stat__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px !important;
}

.cz-stat__top span{
    color:var(--cz-muted) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

.cz-stat__top svg{
    width:20px !important;
    height:20px !important;
    fill:none !important;
    stroke:var(--cz-gold) !important;
    stroke-width:1.4 !important;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.cz-stat strong{
    font-family:var(--cz-serif) !important;
    font-size:40px !important;
    font-weight:400 !important;
    line-height:1 !important;
    color:var(--cz-ink) !important;
}

.cz-stat small{
    color:#8c857d !important;
    font-size:9.5px !important;
}

/* SECTIONS */
.cz-section{
    margin-bottom:42px !important;
}

.cz-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px !important;
    margin-bottom:14px !important;
}

.cz-section-head h2{
    margin:0 !important;
    font-family:var(--cz-serif) !important;
    font-size:31px !important;
    font-weight:400 !important;
    color:var(--cz-ink) !important;
}

.cz-section-link{
    color:var(--cz-ink) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    border-bottom:1px solid currentColor !important;
}

/* ORDERS AS EDITORIAL ROWS */
.cz-orders{
    border-top:1px solid var(--cz-line) !important;
}

.cz-order{
    display:grid;
    grid-template-columns:minmax(110px,.9fr) minmax(110px,.9fr) minmax(150px,1.2fr) minmax(90px,.7fr) minmax(90px,.7fr) auto;
    gap:18px !important;
    align-items:center;
    min-height:82px;
    padding:17px 0 !important;
    border-bottom:1px solid var(--cz-line) !important;
}

.cz-order__label{
    display:block;
    margin-bottom:5px !important;
    color:#8e877f !important;
    font-size:8px !important;
    font-weight:600 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
}

.cz-order__value{
    color:#292622 !important;
    font-size:11px !important;
    line-height:1.45 !important;
}

.cz-order__status{
    display:inline-flex;
    min-height:26px;
    align-items:center;
    padding:0 10px !important;
    border:1px solid var(--cz-line) !important;
    font-size:8.5px !important;
    font-weight:600 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
}

.cz-order__status--done{
    border-color:rgba(84,109,90,.35) !important;
    color:var(--cz-green) !important;
    background:rgba(84,109,90,.055) !important;
}

.cz-order__status--cancel{
    border-color:rgba(155,90,80,.28) !important;
    color:var(--cz-red) !important;
    background:rgba(155,90,80,.04) !important;
}

.cz-order__action{
    color:var(--cz-ink) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
    border-bottom:1px solid currentColor !important;
    white-space:nowrap;
}

.cz-empty-note{
    padding:20px 0 !important;
    color:var(--cz-muted) !important;
    font-size:12px !important;
}

/* ACCOUNT INFO CARDS */
.cz-info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px !important;
}

.cz-info-card{
    min-height:205px;
    padding:22px !important;
    border:1px solid var(--cz-line) !important;
    background:var(--cz-cream-soft) !important;
}

.cz-info-card__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px !important;
    margin-bottom:32px !important;
}

.cz-info-card__head h3{
    margin:0 !important;
    color:#6e675f !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.1em !important;
    text-transform:uppercase !important;
}

.cz-edit{
    color:var(--cz-ink) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
    border-bottom:1px solid currentColor !important;
}

.cz-info-card strong{
    display:block;
    margin-bottom:7px !important;
    font-family:var(--cz-serif) !important;
    font-size:24px !important;
    font-weight:400 !important;
    color:var(--cz-ink) !important;
}

.cz-info-card p{
    margin:0 !important;
    color:var(--cz-muted) !important;
    font-size:11px !important;
    line-height:1.65 !important;
}

.cz-info-card p a{
    color:var(--cz-ink) !important;
    border-bottom:1px solid currentColor !important;
}

/* ADDRESSES */
.cz-address-box{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px !important;
    border:1px solid var(--cz-line) !important;
    background:var(--cz-line) !important;
}

.cz-address{
    min-height:210px;
    padding:24px !important;
    background:var(--cz-cream-soft) !important;
}

.cz-address__type{
    margin:0 0 24px !important;
    color:#6e675f !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.09em !important;
    text-transform:uppercase !important;
}

.cz-address strong{
    display:block;
    margin-bottom:10px !important;
    font-family:var(--cz-serif) !important;
    font-size:23px !important;
    font-weight:400 !important;
    color:var(--cz-ink) !important;
}

.cz-address p{
    margin:0 !important;
    color:var(--cz-muted) !important;
    font-size:11px !important;
    line-height:1.7 !important;
}

.cz-address a{
    display:inline-block;
    margin-top:18px !important;
    color:var(--cz-ink) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
    border-bottom:1px solid currentColor !important;
}

/* MOBILE ACCOUNT NAV (shown only under 820px) */
.cz-mobile-account-nav{
    display:none;
}

@media(max-width:1100px){
    .cz-account-shell{
        grid-template-columns:250px minmax(0,1fr) !important;
    }

    .customer-zone .cz-account-shell .col-left.sidebar{
        padding-right:22px !important;
        padding-left:22px !important;
    }

    .cz-order{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .cz-order__action{
        justify-self:start;
    }
}

@media(max-width:820px){
    .cz-account-shell{
        display:block !important;
    }

    .customer-zone .cz-account-shell .col-left.sidebar{
        position:relative !important;
        min-height:auto !important;
        padding:24px 20px !important;
    }

    .cz-account-logo{
        margin-bottom:25px !important;
    }

    .cz-sidebar-user,
    .customer-zone .col-left.sidebar .block-account,
    .customer-zone .col-left.sidebar .block-reorder{
        display:none !important;
    }

    .cz-mobile-account-nav{
        display:flex !important;
        gap:24px !important;
        margin-top:20px !important;
        padding-top:18px !important;
        overflow-x:auto;
        border-top:1px solid rgba(255,255,255,.14) !important;
        scrollbar-width:none;
    }

    .cz-mobile-account-nav::-webkit-scrollbar{
        display:none;
    }

    .cz-mobile-account-nav a{
        flex:0 0 auto;
        color:#bcb8b3 !important;
        font-size:9px !important;
        letter-spacing:.07em !important;
        text-transform:uppercase !important;
    }

    .cz-mobile-account-nav a.is-active{
        color:#fff !important;
    }

    .customer-zone .cz-account-shell .col-main{
        padding:44px 22px 65px !important;
    }

    .cz-account-header{
        grid-template-columns:1fr;
        align-items:start;
    }

    .cz-account-logout{
        width:100%;
    }

    .cz-account-stats,
    .cz-info-grid,
    .cz-address-box{
        grid-template-columns:1fr;
    }

    .cz-welcome-banner{
        grid-template-columns:1fr;
    }

    .cz-welcome-banner a{
        width:max-content;
    }
}

@media(max-width:560px){
    .cz-account-title{
        font-size:48px !important;
    }

    .cz-order{
        grid-template-columns:1fr 1fr;
        gap:15px 20px !important;
        padding:20px 0 !important;
    }

    .cz-order__action{
        grid-column:1/-1;
    }
}

/* =========================================================
   REST OF THE "MI CUENTA" SECTION — generic Magento theming
   Scope: .customer-zone .col-main
   (order view, wishlist, newsletter, address book, edit account)

   These pages keep their native Magento block/template structure
   (no cz-* markup rewrite, per porto-first / CSS-first approach) —
   this reskins the shared component classes they all render with:
   .page-title, .box, table.data-table, .col2-set, .fieldset/
   .form-list/.buttons-set, wishlist grid. Same !important pattern
   as the rest of this file since these are Magento's own generic
   classes, used elsewhere on the site with their own styling.
   ========================================================= */

.customer-zone .col-main .my-account{
    display:block;
}

/* PAGE TITLE */
.customer-zone .col-main .page-title{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    flex-wrap:wrap;
    gap:16px !important;
    margin:0 0 36px !important;
    padding:0 !important;
    border:0 !important;
}

.customer-zone .col-main .page-title h1{
    margin:0 !important;
    font-family:var(--cz-serif) !important;
    font-size:clamp(32px,4vw,50px) !important;
    font-weight:400 !important;
    line-height:1 !important;
    letter-spacing:-.02em !important;
    color:var(--cz-ink) !important;
}

.customer-zone .col-main .page-title .link-rss{
    color:var(--cz-muted) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

.customer-zone .col-main .order-date{
    margin:-24px 0 30px !important;
    color:var(--cz-muted) !important;
    font-size:11px !important;
}

/* BOXES (order info: shipping/billing/payment/method) */
.customer-zone .col-main .box{
    padding:22px !important;
    border:1px solid var(--cz-line) !important;
    background:var(--cz-cream-soft) !important;
}

.customer-zone .col-main .box-title{
    margin:0 0 14px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
}

.customer-zone .col-main .box-title h2,
.customer-zone .col-main .box-title h3{
    margin:0 !important;
    color:#6e675f !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.1em !important;
    text-transform:uppercase !important;
    background:transparent !important;
}

.customer-zone .col-main .box-title a{
    color:var(--cz-ink) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
    border-bottom:1px solid currentColor !important;
}

.customer-zone .col-main .box-content{
    background:transparent !important;
}

.customer-zone .col-main .box-content address{
    font-style:normal !important;
    color:var(--cz-muted) !important;
    font-size:12px !important;
    line-height:1.7 !important;
}

/* 2-COLUMN GRIDS (order-info-box, addresses-list) */
.customer-zone .col-main .col2-set{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
    margin:0 0 24px !important;
}

.customer-zone .col-main .col2-set h2{
    margin:0 0 16px !important;
    font-family:var(--cz-serif) !important;
    font-size:20px !important;
    font-weight:400 !important;
    color:var(--cz-ink) !important;
}

.customer-zone .col-main .col2-set ol{
    display:grid !important;
    gap:1px !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
    border:1px solid var(--cz-line) !important;
    background:var(--cz-line) !important;
}

.customer-zone .col-main .col2-set li.item{
    margin:0 !important;
    padding:20px !important;
    list-style:none !important;
    background:var(--cz-cream-soft) !important;
}

.customer-zone .col-main .col2-set li.item h3{
    margin:0 0 10px !important;
    font-family:var(--cz-serif) !important;
    font-size:17px !important;
    font-weight:400 !important;
    color:var(--cz-ink) !important;
}

.customer-zone .col-main .col2-set address{
    font-style:normal !important;
    color:var(--cz-muted) !important;
    font-size:12px !important;
    line-height:1.7 !important;
}

.customer-zone .col-main .col2-set p{
    margin:12px 0 0 !important;
}

.customer-zone .col-main .col2-set a{
    color:var(--cz-ink) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    border-bottom:1px solid currentColor !important;
}

.customer-zone .col-main .col2-set .link-remove{
    color:var(--cz-red) !important;
}

/* DATA TABLES (order items, wishlist) */
.customer-zone .col-main table.data-table{
    width:100% !important;
    margin:0 0 24px !important;
    border:0 !important;
    border-collapse:collapse !important;
    background:transparent !important;
}

.customer-zone .col-main table.data-table th{
    padding:0 12px 10px 0 !important;
    border:0 !important;
    border-bottom:1px solid var(--cz-ink) !important;
    background:transparent !important;
    color:var(--cz-muted) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    text-align:left !important;
}

.customer-zone .col-main table.data-table td{
    padding:16px 12px 16px 12px !important;
    border:0 !important;
    border-bottom:1px solid var(--cz-line) !important;
    background:transparent !important;
    color:var(--cz-ink) !important;
    font-size:12px !important;
    line-height:1.5 !important;
    vertical-align:top !important;
}

.customer-zone .col-main table.data-table tfoot td{
    border-bottom:0 !important;
}

.customer-zone .col-main table.data-table tr.grand_total td{
    padding-top:16px !important;
    border-top:1px solid var(--cz-ink) !important;
    font-family:var(--cz-serif) !important;
    font-size:16px !important;
}

.customer-zone .col-main table.data-table .product-name{
    margin:0 0 4px !important;
    font-family:var(--cz-serif) !important;
    font-size:15px !important;
    font-weight:400 !important;
    color:var(--cz-ink) !important;
}

.customer-zone .col-main table.data-table .item-options{
    margin:6px 0 0 !important;
    color:var(--cz-muted) !important;
    font-size:10.5px !important;
}

.customer-zone .col-main .table-caption{
    margin:0 0 16px !important;
    font-family:var(--cz-serif) !important;
    font-size:22px !important;
    font-weight:400 !important;
    color:var(--cz-ink) !important;
}

.customer-zone .col-main .table-caption a{
    color:var(--cz-ink) !important;
    font-size:10px !important;
    font-weight:600 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    border-bottom:1px solid currentColor !important;
    vertical-align:middle !important;
}

.customer-zone .col-main .separator{
    margin:0 8px !important;
    color:var(--cz-line) !important;
}

/* ORDER HISTORY / GIFT MESSAGE */
.customer-zone .col-main .order-additional{
    margin:0 0 30px !important;
}

.customer-zone .col-main .sub-title{
    margin:0 0 14px !important;
    font-family:var(--cz-serif) !important;
    font-size:19px !important;
    font-weight:400 !important;
    color:var(--cz-ink) !important;
}

.customer-zone .col-main dl.order-about,
.customer-zone .col-main dl.gift-message{
    margin:0 !important;
    padding:16px 0 !important;
    border-top:1px solid var(--cz-line) !important;
}

.customer-zone .col-main dl.order-about dt,
.customer-zone .col-main dl.gift-message dt{
    margin:0 0 4px !important;
    color:var(--cz-muted) !important;
    font-size:10px !important;
    font-weight:600 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
}

.customer-zone .col-main dl.order-about dd,
.customer-zone .col-main dl.gift-message dd{
    margin:0 0 16px !important;
    color:var(--cz-ink) !important;
    font-size:12px !important;
    line-height:1.6 !important;
}

/* FORMS (newsletter, edit account, address forms) */
.customer-zone .col-main .fieldset{
    margin:0 0 30px !important;
    padding:0 0 26px !important;
    border:0 !important;
    border-bottom:1px solid var(--cz-line) !important;
    background:transparent !important;
}

.customer-zone .col-main .fieldset:last-of-type{
    border-bottom:0 !important;
    padding-bottom:0 !important;
}

.customer-zone .col-main .legend{
    margin:0 0 20px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    font-family:var(--cz-serif) !important;
    font-size:19px !important;
    font-weight:400 !important;
    color:var(--cz-ink) !important;
}

.customer-zone .col-main .form-list{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.customer-zone .col-main .form-list > li{
    margin:0 0 19px !important;
    padding:0 !important;
    list-style:none !important;
}

.customer-zone .col-main .form-list li.fields{
    display:flex !important;
    flex-wrap:wrap;
    gap:16px !important;
}

.customer-zone .col-main .form-list li.fields .field{
    flex:1 1 200px;
    min-width:0;
    margin:0 !important;
}

.customer-zone .col-main .form-list li.control{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
}

.customer-zone .col-main .form-list li.control input[type="checkbox"]{
    width:14px !important;
    height:14px !important;
    margin:0 !important;
    accent-color:#111;
}

.customer-zone .col-main .form-list li.control label{
    margin:0 !important;
    color:var(--cz-ink) !important;
    font-size:12px !important;
    font-weight:400 !important;
    letter-spacing:normal !important;
    text-transform:none !important;
}

.customer-zone .col-main .form-list label{
    display:block !important;
    margin:0 0 8px !important;
    color:#2c2925 !important;
    font-size:10px !important;
    font-weight:600 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase !important;
}

.customer-zone .col-main .form-list label em{
    color:var(--cz-gold) !important;
    font-style:normal !important;
    margin-right:2px !important;
}

.customer-zone .col-main .input-box{
    position:relative;
}

.customer-zone .col-main .input-box .input-text:not(.no-display),
.customer-zone .col-main .input-box select{
    width:100% !important;
    height:50px !important;
    border:0 !important;
    border-bottom:1px solid #9c958d !important;
    border-radius:0 !important;
    outline:none !important;
    padding:0 12px 0 0 !important;
    background:transparent !important;
    color:var(--cz-ink) !important;
    font-size:14px !important;
}

.customer-zone .col-main .input-box .input-text:focus{
    border-color:var(--cz-black) !important;
}

.customer-zone .col-main .buttons-set{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex-wrap:wrap;
    gap:16px 24px !important;
    margin:24px 0 0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
}

.customer-zone .col-main .buttons-set .required{
    margin:0 auto 0 0 !important;
    color:var(--cz-muted) !important;
    font-size:11px !important;
}

.customer-zone .col-main .buttons-set .back-link{
    order:-1;
    margin:0 !important;
}

.customer-zone .col-main .buttons-set .back-link a{
    color:var(--cz-ink) !important;
    font-size:11px !important;
    border-bottom:1px solid currentColor !important;
}

.customer-zone .col-main button.button,
.customer-zone .col-main a.button,
.customer-zone .col-main .buttons-set .button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:48px !important;
    height:auto !important;
    padding:0 24px !important;
    border:1px solid var(--cz-black) !important;
    background:var(--cz-black) !important;
    color:#fff !important;
    font-size:10.5px !important;
    font-weight:600 !important;
    letter-spacing:.09em !important;
    text-transform:uppercase !important;
    cursor:pointer;
}

.customer-zone .col-main button.button span,
.customer-zone .col-main a.button span,
.customer-zone .col-main .buttons-set .button span{
    background:none !important;
    padding:0 !important;
    margin:0 !important;
    color:inherit !important;
    font-size:inherit !important;
    letter-spacing:inherit !important;
}

.customer-zone .col-main button.button:hover,
.customer-zone .col-main a.button:hover,
.customer-zone .col-main .buttons-set .button:hover{
    background:transparent !important;
    color:var(--cz-black) !important;
}

.customer-zone .col-main .page-title.title-buttons .button{
    min-height:44px !important;
}

/* WISHLIST */
.customer-zone .col-main .wishlist-empty{
    padding:20px 0 !important;
    color:var(--cz-muted) !important;
    font-size:12px !important;
}

.customer-zone .col-main .product-image{
    display:block;
}

.customer-zone .col-main .description.std{
    margin:8px 0 0 !important;
    color:var(--cz-muted) !important;
    font-size:11px !important;
    line-height:1.6 !important;
}

.customer-zone .col-main .availability{
    margin:8px 0 !important;
    font-size:10px !important;
    letter-spacing:.05em !important;
    text-transform:uppercase !important;
}

.customer-zone .col-main .availability.in-stock{
    color:var(--cz-green) !important;
}

.customer-zone .col-main .availability.out-of-stock{
    color:var(--cz-red) !important;
}

.customer-zone .col-main .btn-remove{
    color:var(--cz-red) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    border-bottom:1px solid currentColor !important;
}

.customer-zone .col-main .buttons-set2{
    justify-content:flex-start !important;
}
.customer-zone .col2-set .col-1, .customer-zone .col2-set .col-2{width:100%; float:none;}
.customer-zone .box .box-content{border:0;}
/* MOBILE */
@media(max-width:820px){
    .customer-zone .col-main .col2-set{
        grid-template-columns:1fr !important;
    }

    .customer-zone .col-main .form-list li.fields{
        flex-direction:column;
        gap:0 !important;
    }

    .customer-zone .col-main .form-list li.fields .field{
        margin:0 0 19px !important;
    }

    .customer-zone .col-main .buttons-set{
        justify-content:flex-start !important;
    }

    .customer-zone .col-main table.data-table,
    .customer-zone .col-main table.data-table thead,
    .customer-zone .col-main table.data-table tbody{
        display:block !important;
        width:100% !important;
        overflow-x:auto !important;
    }

    .customer-zone .col-main table.data-table tr{
        display:table;
        width:100%;
        table-layout:fixed;
    }
}

/* =========================================================
   SHOPPING CART — editorial layout
   Scope: body.customer-zone (checkout_cart_index)

   The product row stays a real <table> (item/default.phtml has
   heavy tax/WEEE/MSRP conditional logic we don't want to
   reimplement) — it's reskinned as a clean list instead of
   redrawn as a CSS grid. Qty stepper (.qty_dec/.qty_inc) and
   remove button (.df-remove) already have JS wired in porto.js,
   so those class names are kept as-is and just restyled.
   ========================================================= */
.cz-cart-page{
    min-height:100vh;
    background:var(--cz-cream) !important;
}

.cz-cart-topbar{
    min-height:31px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:7px 18px !important;
    color:#fff !important;
    background:var(--cz-black) !important;
    font-size:9.5px !important;
    letter-spacing:.045em !important;
}

.cz-cart-header{
    min-height:88px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:25px !important;
    padding:0 clamp(20px,4vw,72px) !important;
    border-bottom:1px solid var(--cz-line) !important;
    background:var(--cz-cream) !important;
}

.cz-cart-back{
    justify-self:start;
    display:inline-flex;
    align-items:center;
    gap:9px !important;
    color:#5e5750 !important;
    font-size:9.5px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

.cz-cart-back::before{
    content:"←";
    font-size:15px;
    transition:transform .2s ease;
}

.cz-cart-back:hover::before{
    transform:translateX(-3px);
}

.cz-cart-logo{
    justify-self:center;
    display:inline-flex;
}

.cz-cart-logo img{
    width:158px !important;
    height:auto !important;
    display:block;
}

.cz-cart-secure{
    justify-self:end;
    display:flex;
    align-items:center;
    gap:8px !important;
    color:#625b54 !important;
    font-size:9.5px !important;
    letter-spacing:.04em !important;
}

.cz-cart-secure svg{
    width:18px !important;
    height:18px !important;
    fill:none !important;
    stroke:var(--cz-gold) !important;
    stroke-width:1.45 !important;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.cz-cart-wrap{
    width:100%;
    max-width:1540px;
    margin:0 auto !important;
    padding:clamp(42px,6vw,88px) clamp(20px,4vw,68px) clamp(70px,8vw,120px) !important;
}

.cz-cart-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:30px !important;
    align-items:end;
    margin-bottom:38px !important;
}

.cz-cart-title{
    margin:0 !important;
    font-family:var(--cz-serif) !important;
    font-size:clamp(46px,5.6vw,82px) !important;
    font-weight:400 !important;
    line-height:.94 !important;
    letter-spacing:-.04em !important;
    color:var(--cz-ink) !important;
}

.cz-cart-subtitle{
    max-width:620px;
    margin:18px 0 0 !important;
    color:var(--cz-muted) !important;
    font-size:12.5px !important;
    line-height:1.7 !important;
}

.cz-cart-count{
    align-self:end;
    margin-bottom:8px !important;
    color:#6f675f !important;
    font-size:10px !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
}

.cz-cart-checkout-types{
    margin:0 0 20px !important;
    padding:0 !important;
    list-style:none !important;
}

.cz-cart-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,430px);
    gap:clamp(34px,5vw,78px) !important;
    align-items:start;
}

/* PRODUCT LIST */
.cz-cart-items{
    border-top:1px solid var(--cz-line) !important;
}

.cz-cart-table{
    width:100% !important;
    margin:0 !important;
    border:0 !important;
    border-collapse:collapse !important;
    background:transparent !important;
}

.cz-cart-table thead th{
    padding:14px 10px !important;
    border:0 !important;
    border-bottom:1px solid var(--cz-ink) !important;
    background:transparent !important;
    color:#837b73 !important;
    font-size:8.5px !important;
    font-weight:600 !important;
    letter-spacing:.1em !important;
    text-transform:uppercase !important;
    text-align:left !important;
}

.cz-cart-table tbody tr{
    border-top:1px solid var(--cz-line) !important;
}

.cz-cart-table tbody td{
    padding:22px 10px !important;
    border:0 !important;
    background:transparent !important;
    color:var(--cz-ink) !important;
    font-size:12px !important;
    vertical-align:middle !important;
}

.cz-cart-table .pr-img-td{
    width:90px;
    padding-right:0 !important;
}

.cz-cart-table .pr-img-td img{
    display:block;
    background:var(--cz-cream-soft);
}

.cz-cart-table .manufacturer{
    margin:0 0 4px !important;
    color:var(--cz-gold) !important;
    font-size:8.5px !important;
    font-weight:600 !important;
    letter-spacing:.1em !important;
    text-transform:uppercase !important;
}

.cz-cart-table .product-name{
    margin:0 !important;
    font-family:var(--cz-serif) !important;
    font-size:19px !important;
    font-weight:400 !important;
    line-height:1.15 !important;
    color:var(--cz-ink) !important;
}

.cz-cart-table .product-name a{
    color:var(--cz-ink) !important;
}

.cz-cart-table .item-options{
    margin:8px 0 0 !important;
    color:var(--cz-muted) !important;
    font-size:10.5px !important;
    line-height:1.5 !important;
}

.cz-cart-table .item-options dt{
    display:inline;
    font-weight:600 !important;
}

.cz-cart-table .item-options dd{
    display:inline;
    margin:0 12px 0 4px !important;
}

.cz-cart-table .item-msg{
    margin:8px 0 0 !important;
    color:var(--cz-red) !important;
    font-size:10px !important;
}

.cz-cart-table .link-wishlist{
    display:inline-block;
    margin-top:10px !important;
    color:var(--cz-muted) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    border-bottom:1px solid currentColor !important;
}

.cz-cart-table .cart-price,
.cz-cart-table .cart-msrp-unit,
.cz-cart-table .cart-msrp-subtotal{
    font-size:12px !important;
    color:var(--cz-ink) !important;
}

.cz-cart-table .td-total .cart-price{
    font-family:var(--cz-serif) !important;
    font-size:16px !important;
}

/* qty stepper — .qty_dec/.qty_inc already wired in porto.js */
.cz-cart-table .qty-holder{
    display:flex;
    align-items:center;
    width:112px;
    height:44px;
    border:1px solid var(--cz-black) !important;
}

.cz-cart-table .qty-changer{
    flex:0 0 35px;
    text-align:center;
}

.cz-cart-table .qty-changer a{
    display:block;
    color:var(--cz-black) !important;
    font-size:17px !important;
    line-height:44px !important;
    background:transparent !important;
    width:initial!important;
    height:initial!important;
}

.cz-cart-table input.qty{
    width:100% !important;
    min-width:0;
    height:100% !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:var(--cz-ink) !important;
    text-align:center !important;
    font-size:12px !important;
}

.cz-cart-table .action-td{
    text-align:right !important;
}

.cz-cart-table .df-remove{
    width:34px !important;
    height:34px !important;
    display:inline-grid;
    place-items:center;
    padding:0 !important;
    border:1px solid var(--cz-line) !important;
    border-radius:50% !important;
    background:transparent !important;
    color:#6f675f !important;
    cursor:pointer;
    font-size:18px !important;
    transition:border-color .2s ease,color .2s ease;
}

.cz-cart-table .df-remove:hover{
    border-color:var(--cz-black) !important;
    color:var(--cz-black) !important;
}

.cz-cashback-note{
    margin-top:16px !important;
    padding:14px 16px !important;
    border-left:3px solid var(--cz-gold) !important;
    background:var(--cz-cream-soft) !important;
    color:var(--cz-ink) !important;
    font-size:11px !important;
    line-height:1.55 !important;
}

.cz-cart-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px !important;
    padding:22px 0 0 !important;
    border-top:1px solid var(--cz-line) !important;
}

.cz-cart-actions__right{
    display:flex;
    gap:20px !important;
}

.cz-link-button{
    padding:0 !important;
    border:0 !important;
    border-bottom:1px solid currentColor !important;
    background:transparent !important;
    color:var(--cz-ink) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    cursor:pointer;
}

/* SHIPPING ESTIMATOR (checkout/cart/shipping.phtml, untouched) */
.customer-zone .shipping{
    margin-top:44px !important;
    padding-top:30px !important;
    border-top:1px solid var(--cz-line) !important;
}

.customer-zone .shipping h2{
    position:relative;
    margin:0 0 22px !important;
    padding:0 !important;
    background:transparent !important;
    font-family:var(--cz-serif) !important;
    font-size:29px !important;
    font-weight:400 !important;
    color:var(--cz-ink) !important;
    cursor:pointer;
}

.customer-zone .shipping .shipping-form p{
    margin:0 0 16px !important;
    color:#7d766e !important;
    font-size:9px !important;
}

.customer-zone .shipping .form-list{
    display:grid;
    grid-template-columns:1fr 1fr minmax(130px,.65fr);
    gap:12px !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.customer-zone .shipping .form-list li{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.customer-zone .shipping .input-box select,
.customer-zone .shipping .input-box input{
    width:100% !important;
    height:48px !important;
    padding:0 12px !important;
    border:0 !important;
    border-bottom:1px solid #979088 !important;
    border-radius:0 !important;
    outline:none !important;
    color:var(--cz-ink) !important;
    background:transparent !important;
    font-size:11px !important;
}

.customer-zone .shipping .input-box select:focus,
.customer-zone .shipping .input-box input:focus{
    border-color:var(--cz-black) !important;
}

.customer-zone .shipping .buttons-set{
    margin:20px 0 0 !important;
    padding:0 !important;
    border:0 !important;
}

.customer-zone .shipping .sp-methods{
    margin:20px 0 0 !important;
}

.customer-zone .shipping .sp-methods dt{
    margin:0 0 8px !important;
    color:var(--cz-muted) !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
}

.customer-zone .shipping .sp-methods dd{
    margin:0 0 16px !important;
}

.customer-zone .shipping .sp-methods ul{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.customer-zone .shipping .sp-methods li{
    margin:0 0 8px !important;
    padding:0 !important;
    list-style:none !important;
    font-size:12px !important;
    color:var(--cz-ink) !important;
}

/* SUMMARY SIDEBAR (black card) */
.cz-summary{
    position:sticky;
    top:24px;
    padding:clamp(26px,3vw,40px) !important;
    color:#fff !important;
    background:
        radial-gradient(circle at 86% 8%,rgba(255,255,255,.07),transparent 24%),
        var(--cz-black) !important;
}

.cz-summary-kicker{
    margin:0 0 13px !important;
    color:#bca984 !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
}

.cz-summary h2{
    margin:0 0 30px !important;
    font-family:var(--cz-serif) !important;
    font-size:39px !important;
    font-weight:400 !important;
    line-height:1 !important;
    color:#fff !important;
}

.cz-free-shipping{
    margin-bottom:30px !important;
    padding-bottom:27px !important;
    border-bottom:1px solid rgba(255,255,255,.17) !important;
}

.cz-free-shipping__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px !important;
    margin-bottom:12px !important;
    color:#fff !important;

}

.cz-progress{
    height:3px;
    overflow:hidden;
    background:rgba(255,255,255,.16) !important;
}

.cz-progress span{
    display:block;
    height:100%;
    background:var(--cz-gold) !important;
}

.cz-free-shipping p{
    margin:12px 0 0 !important;
    color:#aaa6a1 !important;
    line-height:1.55 !important;
}

.cz-free-shipping p strong{
    color:#fff !important;
    font-weight:500 !important;
}
.cz-cart-grid .shipping{margin-top:30px;    border-top: 1px solid var(--cz-line) !important; padding-top:10px;}
.cz-cart-grid .shipping select, .cz-cart-grid .shipping input[type="text"]{width: 100%;
    height: 48px;
    padding: 0 12px;
    border: 0;
    border-bottom: 1px solid #979088;
    border-radius: 0;
    outline: 0;
    color: var(--va-ink);
    background: transparent;
    font-size: 11px;}
/* COUPON (checkout/cart/coupon.phtml) */
.customer-zone .discount,
.cz-summary .discount{
    margin-bottom:28px !important;
}

.customer-zone .discount h2,
.cz-summary .discount h2{
    position:relative;
    width:100%;
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.2) !important;
    background:transparent !important;
    color:#fff !important;
    font-size:9.5px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    cursor:pointer;
}

.customer-zone .discount h2::after,
.cz-summary .discount h2::after{
    content:"+";
    font-size:18px !important;
    font-weight:300 !important;
}

.customer-zone .discount h2.opened::after,
.cz-summary .discount h2.opened::after{
    content:"−";
}

.customer-zone .discount-form,
.cz-summary .discount-form{
    display:none;
    padding-top:14px !important;
}

.customer-zone .discount-form input#coupon_code,
.cz-summary .discount-form input#coupon_code{
    width:100%;
    height:42px !important;
    padding:0 10px !important;
    margin:0 0 8px !important;
    border:1px solid rgba(255,255,255,.3) !important;
    outline:none !important;
    color:#fff !important;
    background:transparent !important;
    font-size:10.5px !important;
}

.customer-zone .discount-form input#coupon_code::placeholder,
.cz-summary .discount-form input#coupon_code::placeholder{
    color:#7f7b76 !important;
}

.customer-zone .discount-form button,
.cz-summary .discount-form button{
    height:42px !important;
    padding:0 15px !important;
    border:1px solid #fff !important;
    background:#fff !important;
    color:var(--cz-black) !important;
    font-size:8.5px !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    cursor:pointer;
    border-radius: 0!important;
}

.customer-zone .discount-form button span,
.cz-summary .discount-form button span{
    background:none !important;
    padding:0 !important;
    color:inherit !important;
}
#discount-coupon-form {
    background: transparent;
    border: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}
/* TOTALS (checkout/cart/totals.phtml, untouched) */
.cz-totals{
    padding:5px 0 25px !important;
    border-bottom:1px solid rgba(255,255,255,.17) !important;
}

.cz-totals table{
    width:100% !important;
    border:0 !important;
    border-collapse:collapse !important;
}

.cz-totals tbody tr td{
    padding:8px 0 !important;
    border:0 !important;
    background:transparent !important;
    color:#fff !important;
    font-size:12px !important;
    line-height: 1rem;
}

.cz-totals tbody tr td strong{
    color:#fff !important;
    font-weight:500 !important;
}
.cz-totals tr  td.a-right:first-child{text-align:left!important;}
.cz-summary .btn-proceed-checkout, .cz-summary .btn-proceed-checkout span{
    background:var(--cz-line) !important;
    width:100%;
    color:#000;
    line-height: 50px;
}
.cz-totals tfoot tr td{
    padding:20px 0 0 !important;
    border:0 !important;
    border-top:1px solid rgba(255,255,255,.17) !important;
    background:transparent !important;
    color:#fff !important;
    font-family:var(--cz-serif) !important;
    font-size:25px !important;
}

.cz-totals tfoot tr td strong{
    font-weight:400 !important;
}

/* CHECKOUT BUTTON (checkout/onepage/link.phtml, untouched) */
.customer-zone .cz-summary .btn-checkout,
.customer-zone .cz-summary .btn-proceed-checkout{
    width:100% !important;
    min-height:54px !important;
    height:auto !important;
    margin-top:25px !important;
    border:1px solid #fff !important;
    background:#fff !important;
    color:var(--cz-black) !important;
    font-size:9.5px !important;
    font-weight:600 !important;
    letter-spacing:.11em !important;
    text-transform:uppercase !important;
    cursor:pointer;
    transition:background .2s ease,color .2s ease;
}

.customer-zone .cz-summary .btn-checkout:hover,
.customer-zone .cz-summary .btn-proceed-checkout:hover{
    background:transparent !important;
    color:#fff !important;
}

.customer-zone .cz-summary .btn-checkout span,
.customer-zone .cz-summary .btn-proceed-checkout span{
    background:none !important;
    padding:0 !important;
    color:inherit !important;
    font-size:inherit !important;
    letter-spacing:inherit !important;
}

.cz-summary-trust{
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    gap:12px !important;
    margin-top:22px !important;
    color:#999590 !important;
    font-size:9px !important;
    line-height:1.5 !important;
}

.cz-summary-trust svg{
    width:21px !important;
    height:21px !important;
    fill:none !important;
    stroke:var(--cz-gold-soft,var(--cz-gold)) !important;
    stroke-width:1.4 !important;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.cz-etrusted{
    margin-top:20px !important;
}

/* EMPTY CART */
.cz-cart-empty{
    max-width:560px;
    padding:60px 0 !important;
}

.cz-cart-empty .cz-cart-title{
    font-size:clamp(38px,5vw,58px) !important;
    margin-bottom:20px !important;
}

.cz-cart-empty-note{
    margin:0 0 26px !important;
    color:var(--cz-muted) !important;
    font-size:13px !important;
}

/* CROSSSELL */
.customer-zone .crosssell{
    margin-top:60px !important;
    padding-top:40px !important;
    border-top:1px solid var(--cz-line) !important;
}

.customer-zone .crosssell h2{
    margin:0 0 24px !important;
    font-family:var(--cz-serif) !important;
    font-size:29px !important;
    font-weight:400 !important;
    color:var(--cz-ink) !important;
}

.customer-zone .crosssell ul{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.customer-zone .crosssell li.item{
    padding:0 12px !important;
}

.customer-zone .crosssell .product-image{
    display:block;
    margin-bottom:14px !important;
    background:var(--cz-cream-soft) !important;
}

.customer-zone .crosssell .product-name{
    margin:0 0 8px !important;
    font-family:var(--cz-serif) !important;
    font-size:15px !important;
    font-weight:400 !important;
}

.customer-zone .crosssell .product-name a{
    color:var(--cz-ink) !important;
}

.customer-zone .crosssell .button.btn-cart{
    min-height:40px !important;
    padding:0 16px !important;
    margin-top:10px !important;
    border:1px solid var(--cz-black) !important;
    background:var(--cz-black) !important;
    color:#fff !important;
    font-size:9px !important;
    font-weight:600 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
    cursor:pointer;
}

.customer-zone .crosssell .button.btn-cart span{
    background:none !important;
    padding:0 !important;
    color:inherit !important;
}

.customer-zone .crosssell .add-to-links{
    margin:10px 0 0 !important;
    padding:0 !important;
    list-style:none !important;
}

.customer-zone .crosssell .add-to-links li{
    display:inline;
    color:var(--cz-muted) !important;
    font-size:9px !important;
}

.customer-zone .crosssell .add-to-links a{
    color:var(--cz-muted) !important;
    text-decoration:underline !important;
}
.one-step-checkout{float:none;}
.one-step-checkout .address-information .billing_address, .order-information, .order-review-section, .onestepcheckout-review-info{border:solid 1px #333!important;}
.checkout-onepage-success .form-wrap{
    background:var(--cz-cream) !important;
}
.top_ico{text-align: center;}
/* MOBILE */
@media(max-width:1050px){
    .cz-cart-grid{
        grid-template-columns:1fr;
    }

    .cz-summary{
        position:relative;
        top:auto;
    }
}

@media(max-width:760px){
    .cz-cart-header{
        grid-template-columns:1fr auto;
        min-height:78px;
    }

    .cz-cart-back{
        display:none;
    }

    .cz-cart-logo{
        justify-self:start;
    }

    .cz-cart-secure{
        justify-self:end;
    }

    .cz-cart-heading{
        grid-template-columns:1fr;
    }

    .cz-cart-count{
        margin-bottom:0 !important;
    }

    .cz-cart-table,
    .cz-cart-table thead,
    .cz-cart-table tbody{
        display:block !important;
        width:100% !important;
    }

    .cz-cart-table tr{
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        gap:12px !important;
    }

    .cz-cart-table thead{
        display:none !important;
    }

    .cz-cart-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .cz-cart-actions__right{
        align-items:flex-start;
        flex-direction:column;
        gap:12px !important;
    }

    .customer-zone .shipping .form-list{
        grid-template-columns:1fr;
    }
}

@media(max-width:500px){
    .cz-cart-logo img{
        width:135px !important;
    }

    .cz-cart-secure span{
        display:none;
    }

    .cz-cart-title{
        font-size:52px !important;
    }
    .cz-cart-grid .shipping{display:none;}
}