/* =========================================================
   Madeliz - Modern Jewelry Restyle
   For CubeCart E-Sharp Blue
   ========================================================= */

/* -------------------------
   Design tokens
------------------------- */
:root {
    --bg: #f8f4ef;
    --bg-soft: #fcfaf7;
    --card: #ffffff;
    --text: #3f3834;
    --text-soft: #7b716a;
    --heading: #2e2723;
    --border: #e7ddd3;
    --border-strong: #dccdbc;
    --accent: #c6a16b;
    --accent-hover: #b48a53;
    --accent-soft: #f4ece2;
    --footer: #8f745f;
    --footer-dark: #6f5a49;
    --white: #ffffff;
    --shadow-sm: 0 6px 18px rgba(72, 51, 35, 0.06);
    --shadow-md: 0 12px 30px rgba(72, 51, 35, 0.10);
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 22px;
    --transition: 0.22s ease;
}

/* -------------------------
   Base
------------------------- */
html,
body {
    height: 100%;
}

body {
    background: linear-gradient(180deg, #fdfbf8 0%, #f7f1eb 100%);
    color: var(--text);
    font-family: 'Inter', Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a {
    color: var(--accent-hover);
    text-decoration: none;
    transition: color var(--transition), opacity var(--transition);
}

a:hover {
    color: var(--accent);
}

p {
    margin: 0 0 1em;
    color: var(--text-soft);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Cormorant Garamond', serif;
    color: var(--heading);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: 0.2px;
}

h1 {
    font-size: 42px;
    margin: 0 0 18px;
}

h2 {
    font-size: 34px;
    margin: 0 0 16px;
}

h3 {
    font-size: 28px;
    margin: 0 0 14px;
}

h4 {
    font-size: 23px;
    margin: 0 0 12px;
}

h5 {
    font-size: 20px;
    margin: 0 0 10px;
}

h6 {
    font-size: 18px;
    margin: 0 0 8px;
}

hr {
    border: 0;
    border-top: 1px solid var(--border);
    margin: 30px 0;
}

img {
    max-width: 100%;
    height: auto;
}

/* -------------------------
   Outer layout
------------------------- */
#container {
    background: transparent;
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 0;
    box-shadow: none;
}

.container#container {
    max-width: 1320px;
}

#page,
.cycle-slideshow {
    background: transparent;
}

#page {
    padding: 36px 28px 40px;
}

#content {
    background: transparent;
}

#content-inner {
    padding-left: 24px;
}

/* -------------------------
   Header / utility
------------------------- */
#utility {
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid rgba(220, 205, 188, 0.45);
    backdrop-filter: blur(10px);
}

#utility #session,
#utility #basket_summary {
    padding: 14px 18px;
}

#utility .btn,
#utility a.btn,
#utility input[type="button"],
#utility input[type="submit"],
#utility button {
    font-size: 13px;
}

/* -------------------------
   Logo / hero
------------------------- */
#logo {
    text-align: center;
    background: transparent !important;
    margin: 0;
    padding: 24px 0 10px;
}

#logo .u12 {
    padding: 0;
}

#logo a {
    display: block;
    padding: 0;
    border-radius: 0;
    overflow: hidden;
}

#logo img {
    width: 100%;
    max-height: 340px;
    object-fit: cover;
    border-radius: 0 0 22px 22px;
    box-shadow: var(--shadow-sm);
}

/* -------------------------
   Breadcrumb
------------------------- */
#breadcrumb {
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
    font-size: 13px;
    color: var(--text-soft);
}

#breadcrumb li {
    display: inline;
    padding: 0 10px;
    border-left: 1px solid var(--border);
}

#breadcrumb li.first {
    padding-left: 0;
    border-left: none;
}

#breadcrumb a {
    color: var(--text-soft);
}

#breadcrumb a:hover {
    color: var(--accent-hover);
}

/* -------------------------
   Sidebar boxes
------------------------- */
.sidebar .box {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 22px 20px;
    margin: 0 0 22px;
    box-shadow: var(--shadow-sm);
    backdrop-filter: blur(8px);
}

.sidebar .box h3 {
    font-size: 30px;
    margin: 0 0 16px;
    color: var(--heading);
}

.icon.circle {
    background: linear-gradient(135deg, #d7b381 0%, #c39a61 100%);
    color: #fff;
    box-shadow: 0 6px 14px rgba(198, 161, 107, 0.25);
}

/* -------------------------
   Navigation block
------------------------- */
#navigation {
    margin: 0;
}

#navigation-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 29px;
    margin: 0 0 16px;
}

#navigation > ul,
.sf-menu,
.sf-menu ul {
    background: transparent !important;
}

.sf-menu {
    width: 100%;
}

.sf-menu a {
    border-top: none !important;
    color: var(--text) !important;
    padding: 11px 14px !important;
    border-radius: 12px;
    font-family: 'Inter', Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.45;
}

.sf-menu li {
    background: transparent !important;
    white-space: normal;
    margin-bottom: 4px;
}

.sf-menu li:hover,
.sf-menu li.sfHover {
    background: transparent !important;
}

.sf-menu li:hover > a,
.sf-menu li.sfHover > a {
    background: var(--accent-soft);
    color: var(--heading) !important;
}

.sf-menu ul {
    min-width: 14em;
    margin-top: 8px;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff !important;
    box-shadow: var(--shadow-md);
}

.sf-menu ul li {
    background: transparent !important;
}

.sf-arrows .sf-with-ul:after,
.sf-arrows ul .sf-with-ul:after,
.sf-vertical.sf-arrows > li > .sf-with-ul:after {
    border-top-color: var(--accent) !important;
    border-left-color: var(--accent) !important;
}

/* -------------------------
   Search
------------------------- */
#quick_search {
    margin-top: 18px;
}

#quick_search form {
    margin: 0;
}

.btn-pair.input {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.btn-pair.input .left,
.btn-pair.input .right {
    float: none;
}

.btn-pair.input .left {
    width: calc(100% - 54px);
}

.btn-pair.input .right {
    width: 54px;
}

input[type="text"],
input[type="password"],
select,
textarea {
    border: 1px solid var(--border-strong);
    background: #fff;
    color: var(--text);
    border-radius: 14px;
    padding: 10px 14px;
    box-sizing: border-box;
    font-family: 'Inter', Arial, Helvetica, sans-serif;
    font-size: 14px;
    transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

input[type="text"],
input[type="password"] {
    height: 46px;
}

textarea {
    min-height: 140px;
    width: 100%;
}

input[type="text"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
    border-color: #d0ab78;
    box-shadow: 0 0 0 4px rgba(198, 161, 107, 0.12);
    background: #fffdfb;
}

.btn-pair .left {
    border-radius: 14px 0 0 14px;
}

.btn-pair .right {
    border-radius: 0 14px 14px 0;
}

/* -------------------------
   Buttons
------------------------- */
input[type="button"],
input[type="submit"],
input[type="reset"],
button,
a.btn {
    border: none;
    border-radius: 999px;
    padding: 0 18px;
    height: 42px;
    line-height: 42px;
    background: linear-gradient(135deg, #d7b381 0%, #c39a61 100%);
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.2px;
    box-shadow: 0 8px 18px rgba(198, 161, 107, 0.24);
    transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
}

a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    line-height: normal;
}

input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
button:hover,
a.btn:hover {
    background: linear-gradient(135deg, #cba46f 0%, #b8884c 100%);
    box-shadow: 0 12px 24px rgba(184, 136, 76, 0.28);
    transform: translateY(-1px);
}

input[disabled],
button[disabled],
.btn.disabled,
input[disabled]:hover,
button[disabled]:hover,
.btn.disabled:hover {
    background: #d9d2cc !important;
    color: #8e8379 !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: default;
}

.button_add_basket {
    min-width: 110px;
}

/* -------------------------
   Main content blocks
------------------------- */
#announcement,
#product_description,
#product_detail,
#quantity_discounts,
#reviews,
.control {
    background: rgba(255, 255, 255, 0.80);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

#announcement,
#product_description,
#quantity_discounts,
#reviews {
    padding: 26px;
    margin-bottom: 24px;
}

.control {
    padding: 14px 18px;
    min-height: 0;
    margin: 0 0 24px;
    background: rgba(255, 252, 249, 0.92);
}

.control .sort select {
    color: var(--text);
    border-radius: 12px;
    height: 38px;
    padding: 0 12px;
}

/* -------------------------
   Product lists
------------------------- */
.product-list {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    text-align: left;
}

.product-list .product {
    float: none;
    width: calc(33.333% - 16px);
    margin: 0;
    padding: 20px;
    background: rgba(255, 255, 255, 0.90);
    border: 1px solid var(--border);
    border-radius: 22px;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
    box-sizing: border-box;
}

.product-list .product:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: #dbc7af;
}

.product-list .image {
    position: relative;
    height: auto;
    margin-bottom: 16px;
    text-align: center;
}

.product-list .image img {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 18px;
    background: #f7f2ed;
}

.product-list .title {
    height: auto;
    overflow: visible;
    margin-bottom: 10px;
}

.product-list .title a {
    display: block;
    font-family: 'Cormorant Garamond', serif;
    font-size: 29px;
    line-height: 1.1;
    color: var(--heading);
}

.product-list .price {
    font-size: 17px;
    font-weight: 600;
    color: var(--heading);
    margin: 0 0 14px;
}

.price .price_previous {
    color: #9a8c82;
    margin-right: 6px;
}

.product-list .actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: auto;
}

.product-list .actions a {
    font-size: 14px;
    font-weight: 600;
    color: var(--accent-hover);
}

/* -------------------------
   Homepage section
------------------------- */
.home #content h2 {
    font-size: 40px;
    margin-bottom: 22px;
}

.home #announcement {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin-bottom: 26px;
}

.home #announcement p strong,
.home #announcement strong {
    color: var(--heading);
}

.home #announcement em {
    color: #a4513f;
}

/* -------------------------
   Category blocks
------------------------- */
#subcategories {
    margin: 20px 0 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

#subcategories .subcategory {
    float: none;
    width: calc(25% - 14px);
    margin: 0;
    padding: 14px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: var(--shadow-sm);
    box-sizing: border-box;
}

#subcategories .subcategory img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 14px;
    margin-bottom: 10px;
}

/* -------------------------
   Product page
------------------------- */
#gallery {
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 22px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 24px;
}

#preview {
    border-radius: 20px;
    background: #f8f3ee;
}

#gallery_select a img {
    border-radius: 12px;
    border: 1px solid var(--border);
    margin-bottom: 10px;
}

.add_to_basket {
    background: rgba(255, 251, 247, 0.95);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 18px;
    box-shadow: var(--shadow-sm);
}

.add_to_basket .quantity {
    width: 72px;
    text-align: center;
    margin-right: 10px;
}

#product_detail {
    padding: 22px 24px;
    margin-bottom: 24px;
}

#product_detail p {
    margin-bottom: 10px;
    color: var(--text);
}

#product_description {
    font-size: 15px;
}

#product_description p,
#product_description li {
    color: var(--text-soft);
}

/* -------------------------
   Reviews
------------------------- */
.review {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 18px;
    margin-bottom: 18px;
}

.review h3 {
    margin-bottom: 8px;
    font-size: 24px;
}

.rating .icon,
.review .rating .icon {
    color: var(--accent);
}

/* -------------------------
   Tables / basket / order
------------------------- */
.row.heading,
#basket .basket_header,
#basket .subtotal,
#basket .total {
    background: #ead9c8;
    color: var(--heading);
}

#basket .total {
    background: linear-gradient(135deg, #d7b381 0%, #c39a61 100%);
    color: #fff;
}

#basket .basket_product,
#orders-list .row,
.discounts_table th,
.discounts_table td {
    border-color: var(--border);
}

/* -------------------------
   Popular / sale lists
------------------------- */
#sale_products a,
#popular_products a,
#featured_product .title a {
    color: var(--accent-hover);
    font-size: 15px;
    line-height: 1.6;
}

#sale_products ol,
#popular_products ol,
#sale_products ul,
#popular_products ul {
    padding-left: 18px;
}

/* -------------------------
   iDEAL image
------------------------- */
.sidebar img[alt="ideal"] {
    display: block;
    max-width: 150px;
    margin: 10px auto 0;
    opacity: 0.95;
}

/* -------------------------
   Forms on product/reviews
------------------------- */
label {
    width: 28%;
    padding-right: 1.5%;
    text-align: left;
    font-weight: 600;
    color: var(--heading);
    line-height: 1.4;
    font-size: 13px;
}

.fieldgroup {
    width: 70%;
}

textarea,
select,
input[type="text"],
input[type="password"] {
    font-family: 'Inter', Arial, Helvetica, sans-serif;
}

/* -------------------------
   Utility buttons small top area
------------------------- */
#sessionbox .btn,
#basketbox .btn,
#utility .btn {
    height: 38px;
    line-height: 38px;
    padding: 0 16px;
}

/* -------------------------
   Mobile and tablet
------------------------- */
@media only screen and (max-width: 1100px) {
    #page {
        padding: 28px 20px 34px;
    }

    #content-inner {
        padding-left: 10px;
    }

    .product-list .product {
        width: calc(50% - 12px);
    }

    #subcategories .subcategory {
        width: calc(33.333% - 12px);
    }
}

@media only screen and (max-width: 980px) {
    #page {
        padding: 22px 16px 28px;
    }

    #content-inner {
        padding-left: 0;
    }

    .sidebar .box {
        padding: 18px 16px;
    }

    .product-list {
        gap: 18px;
    }

    .product-list .product {
        width: calc(50% - 9px);
        padding: 16px;
    }

    .product-list .title a {
        font-size: 25px;
    }

    #subcategories .subcategory {
        width: calc(50% - 9px);
    }
}

@media only screen and (max-width: 650px) {
    body {
        font-size: 15px;
        background: linear-gradient(180deg, #fcfaf7 0%, #f5ede5 100%);
    }

    h1 {
        font-size: 34px;
    }

    h2 {
        font-size: 29px;
    }

    h3 {
        font-size: 24px;
    }

    #logo {
        padding: 0 0 8px;
    }

    #logo img {
        border-radius: 0 0 16px 16px;
        max-height: 180px;
    }

    #utility #session,
    #utility #basket_summary {
        padding: 8px 10px;
    }

    #page {
        padding: 16px 12px 24px;
    }

    #breadcrumb {
        margin-bottom: 16px;
        font-size: 12px;
    }

    .sidebar .box {
        padding: 16px 14px;
        margin-bottom: 16px;
        border-radius: 16px;
    }

    #navigation-toggle {
        font-size: 24px;
        margin-bottom: 12px;
    }

    .sf-menu a {
        font-size: 14px;
        padding: 10px 12px !important;
    }

    .btn-pair.input {
        display: flex;
    }

    .btn-pair.input .left {
        width: calc(100% - 48px);
        height: 44px;
        font-size: 14px;
    }

    .btn-pair.input .right {
        width: 48px;
        height: 44px;
        line-height: 44px;
        padding: 0;
    }

    .product-list {
        display: block;
    }

    .product-list .product {
        width: 100%;
        padding: 14px;
        margin-bottom: 14px;
        border-radius: 18px;
    }

    .product-list .image {
        margin-bottom: 12px;
    }

    .product-list .image img {
        border-radius: 14px;
    }

    .product-list .title a {
        font-size: 24px;
    }

    .product-list .price {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .product-list .actions {
        gap: 8px;
    }

    .product-list .actions a {
        font-size: 13px;
    }

    .button_add_basket,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    button,
    a.btn {
        height: 40px;
        line-height: 40px;
        padding: 0 15px;
        font-size: 13px;
    }

    #subcategories {
        display: block;
        margin: 16px 0 22px;
    }

    #subcategories .subcategory {
        width: 100%;
        margin-bottom: 12px;
        padding: 12px;
        border-radius: 16px;
    }

    #gallery,
    #product_detail,
    #product_description,
    #quantity_discounts,
    #reviews,
    .control,
    #announcement {
        border-radius: 16px;
        padding: 16px;
    }

    #documents {
        border-radius: 16px 16px 0 0;
        margin-top: 20px;
    }

    #documents ul {
        padding: 8px 10px;
    }

    #documents li {
        display: block;
    }

    #documents a {
        display: block;
        padding: 10px 8px;
        font-size: 14px;
    }

    #footer {
        border-radius: 0 0 16px 16px;
        padding: 16px 12px 22px;
    }

    label,
    .fieldgroup,
    textarea {
        width: 100%;
    }

    label {
        display: block;
        margin-bottom: 6px;
    }

    .add_to_basket {
        padding: 14px;
        border-radius: 16px;
    }

    .add_to_basket .quantity {
        width: 60px;
    }

    .sidebar img[alt="ideal"] {
        max-width: 130px;
    }
}

/* -------------------------
   Very small phones
------------------------- */
@media only screen and (max-width: 420px) {
    #page {
        padding-left: 10px;
        padding-right: 10px;
    }

    .sidebar .box,
    #gallery,
    #product_detail,
    #product_description,
    #quantity_discounts,
    #reviews,
    .control,
    #announcement {
        padding: 14px;
    }

    .product-list .title a {
        font-size: 22px;
    }
}

/* =========================================
   Footer without separate copyright bar
========================================= */

#documents,
#documents ul,
#documents li,
#documents a {
    box-sizing: border-box;
}

#documents {
    margin-top: 40px !important;
    background: linear-gradient(135deg, #b38a5b 0%, #8d6c52 100%) !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08) !important;
    padding-bottom: 18px !important;
}

#documents ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 18px 20px 10px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px 12px !important;
    text-align: center !important;
    background: transparent !important;
}

#documents li {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

#documents a {
    display: inline-block !important;
    padding: 8px 12px !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 0 !important;
    border-radius: 999px !important;
    font-family: 'Inter', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    opacity: 0.96 !important;
    transition: background 0.2s ease, opacity 0.2s ease !important;
}

#documents a:hover,
#documents a:focus {
    background: rgba(255, 255, 255, 0.14) !important;
    color: #fff !important;
    opacity: 1 !important;
}

.footer-manual {
    margin: 10px 0 0 !important;
    text-align: center !important;
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-family: 'Inter', Arial, Helvetica, sans-serif !important;
}

/* hide old footer bar completely */
#footer {
    display: none !important;
}

@media only screen and (max-width: 650px) {
    #documents {
        margin-top: 24px !important;
        border-radius: 16px !important;
        padding-bottom: 14px !important;
    }

    #documents ul {
        padding: 14px 12px 8px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }

    #documents li {
        display: block !important;
        width: 100% !important;
    }

    #documents a {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 10px 12px !important;
    }

    .footer-manual {
        font-size: 12px !important;
        margin-top: 8px !important;
    }
}

/* stronger dropdown layering fix */
#sidebar {
    position: relative;
    z-index: 5000;
}

#navigation {
    position: relative;
    z-index: 6000;
}

.sf-menu,
.sf-menu li {
    position: relative;
}

.sf-menu ul {
    position: absolute;
    z-index: 7000 !important;
}

#content,
#content-inner,
.product-list,
.product-list .product,
.product-list .image,
.product-list .image img {
    position: relative;
    z-index: 1 !important;
}


/* =========================================
   Real product page layout
========================================= */

.mdz-product-wrap {
    margin-bottom: 24px;
}

.mdz-product-top {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    margin-bottom: 26px;
}

.mdz-product-gallery {
    flex: 0 0 52%;
}

.mdz-gallery-main {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 24px;
    box-shadow: var(--shadow-sm);
    text-align: center;
}

.mdz-gallery-main img#preview {
    display: inline-block;
    width: auto;
    max-width: 100%;
    max-height: 520px;
    object-fit: contain;
    border-radius: 18px;
    background: #f8f3ee;
}

.mdz-gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.mdz-gallery-thumbs a {
    display: block;
}

.mdz-gallery-thumbs img {
    width: 74px;
    height: 74px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: #fff;
}

.mdz-product-summary {
    flex: 1 1 auto;
}

.mdz-product-price {
    font-size: 31px;
    line-height: 1.2;
    color: var(--heading) !important;
    font-weight: 700;
    margin: 0 0 20px;
    font-family: 'Cormorant Garamond', serif;
}

.mdz-product-form {
    margin: 0;
}

.mdz-product-options {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 18px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 18px;
}

.mdz-product-options p:last-child {
    margin-bottom: 0;
}

.mdz-product-options label {
    display: block;
    width: 100%;
    margin-bottom: 8px;
}

.mdz-product-options select,
.mdz-product-options input[type="text"],
.mdz-product-options textarea {
    width: 100%;
}

.mdz-buy-box {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    background: rgba(255, 251, 247, 0.95);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 18px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 18px;
}

.mdz-qty-label {
    width: 100%;
    margin: 0 0 2px;
    font-size: 13px;
    color: var(--text-soft);
}

.mdz-buy-box .quantity {
    width: 78px !important;
    height: 46px !important;
    text-align: center;
    margin: 0 !important;
}

.mdz-buy-box .button_add_basket,
.mdz-buy-box .btn,
.mdz-buy-box input[type="submit"] {
    min-width: 150px;
    height: 46px !important;
    line-height: 46px !important;
    font-size: 15px !important;
}

.mdz-product-meta {
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 20px 22px !important;
    box-shadow: var(--shadow-sm);
}

.mdz-product-meta p {
    margin-bottom: 10px;
    color: var(--text);
    font-size: 15px;
}

.mdz-product-meta strong {
    color: var(--accent-hover);
}

.mdz-product-description {
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 28px 30px !important;
    box-shadow: var(--shadow-sm);
}

.mdz-product-description p {
    font-size: 17px;
    line-height: 1.85;
    color: #8f6c3f !important;
    margin-bottom: 18px;
}

.mdz-product-description em {
    color: #a97b42;
}

@media only screen and (max-width: 980px) {
    .mdz-product-top {
        flex-direction: column;
        gap: 22px;
    }

    .mdz-product-gallery,
    .mdz-product-summary {
        flex: none;
        width: 100%;
    }

    .mdz-gallery-main img#preview {
        max-height: 420px;
    }
}

@media only screen and (max-width: 650px) {
    .mdz-product-top {
        gap: 18px;
    }

    .mdz-gallery-main,
    .mdz-product-options,
    .mdz-buy-box,
    .mdz-product-meta,
    .mdz-product-description {
        border-radius: 16px;
    }

    .mdz-gallery-main {
        padding: 16px;
    }

    .mdz-gallery-main img#preview {
        max-height: none;
    }

    .mdz-product-price {
        font-size: 26px;
    }

    .mdz-buy-box {
        padding: 14px;
    }

    .mdz-buy-box .quantity {
        width: 70px !important;
    }

    .mdz-buy-box .button_add_basket,
    .mdz-buy-box .btn,
    .mdz-buy-box input[type="submit"] {
        flex: 1 1 auto;
        min-width: 140px;
    }

    .mdz-product-description {
        padding: 18px !important;
    }

    .mdz-product-description p {
        font-size: 16px;
        line-height: 1.75;
    }
}



/* =========================================
   Modern basket / checkout
========================================= */

.mdz-checkout-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.mdz-basket {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.mdz-basket-item {
    display: grid;
    grid-template-columns: 40px 90px 1fr 100px 110px 110px;
    gap: 14px;
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 18px;
    box-shadow: var(--shadow-sm);
    max-width: 100%;
}

.mdz-basket-price-unit,
.mdz-basket-price-total {
    text-align: right;
    min-width: 0;
}

.mdz-basket-price-unit .price,
.mdz-basket-price-total .price {
    white-space: nowrap;
}

.mdz-basket-remove a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: #f8eee5;
    color: #9f6a4d !important;
    font-size: 14px;
}

.mdz-basket-remove a:hover {
    background: #f2dfcf;
}

.mdz-basket-image img {
    width: 100%;
    max-width: 96px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--border);
}

.mdz-basket-name {
    margin: 0 0 8px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 30px;
    line-height: 1.05;
}

.mdz-basket-name a {
    color: var(--heading) !important;
}

.mdz-basket-meta,
.mdz-basket-options p {
    margin: 0 0 6px;
    color: var(--text-soft);
    font-size: 14px;
    line-height: 1.5;
}

.mdz-basket-qty label,
.mdz-price-label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-soft);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mdz-basket-qty .quantity {
    width: 78px;
    height: 44px;
    text-align: center;
}

.mdz-basket-price-unit,
.mdz-basket-price-total {
    text-align: right;
}

.mdz-basket-price-unit .price,
.mdz-basket-price-total .price {
    font-size: 20px;
    font-weight: 700;
    color: var(--heading);
}

.mdz-basket-summary {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 24px;
    box-shadow: var(--shadow-sm);
}

.mdz-summary-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

.mdz-summary-line:last-child {
    border-bottom: none;
}

.mdz-summary-line .label {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

.mdz-summary-line .price {
    font-size: 18px;
    font-weight: 700;
    color: var(--heading);
    text-align: right;
}

.mdz-summary-total {
    margin-top: 6px;
    padding-top: 16px;
    border-top: 1px solid var(--border-strong);
    border-bottom: none;
}

.mdz-summary-total .label,
.mdz-summary-total .price {
    font-size: 22px;
}

.mdz-shipping-select,
.mdz-coupon-box {
    margin: 18px 0;
}

.mdz-shipping-select label,
.mdz-coupon-box label {
    display: block;
    width: 100%;
    margin-bottom: 8px;
}

.mdz-shipping-select select,
.mdz-coupon-box input {
    width: 100%;
    max-width: 420px;
}

.mdz-basket-locale {
    margin: 18px 0 8px;
    padding: 14px 16px;
    background: #fbf7f2;
    border: 1px solid var(--border);
    border-radius: 16px;
}

.mdz-basket-locale p:last-child {
    margin-bottom: 0;
}

.mdz-basket-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 24px;
}

.mdz-basket-actions .button_submit,
.mdz-basket-actions input[type="submit"],
.mdz-basket-actions a {
    min-width: 180px;
    text-align: center;
}

.mdz-checkout-button {
    min-width: 220px !important;
}

.mdz-alt-checkout-wrap {
    margin-top: 28px;
}

.mdz-related-wrap {
    margin-top: 36px;
}

@media only screen and (max-width: 1100px) {
    .mdz-basket-item {
        grid-template-columns: 46px 96px 1fr 100px 120px 120px;
        gap: 14px;
    }

    .mdz-basket-name {
        font-size: 26px;
    }
}

@media only screen and (max-width: 850px) {
    .mdz-basket-item {
        grid-template-columns: 44px 88px 1fr;
        gap: 14px;
    }

    .mdz-basket-qty,
    .mdz-basket-price-unit,
    .mdz-basket-price-total {
        grid-column: 2 / 4;
        text-align: left;
    }

    .mdz-basket-price-unit .price,
    .mdz-basket-price-total .price {
        font-size: 18px;
    }
}

@media only screen and (max-width: 650px) {
    .mdz-checkout-title {
        gap: 10px;
        margin-bottom: 18px;
    }

    .mdz-basket-item {
        grid-template-columns: 38px 78px 1fr;
        padding: 14px;
        border-radius: 18px;
    }

    .mdz-basket-image img {
        max-width: 78px;
        border-radius: 12px;
    }

    .mdz-basket-name {
        font-size: 22px;
    }

    .mdz-basket-meta,
    .mdz-basket-options p {
        font-size: 13px;
    }

    .mdz-basket-qty,
    .mdz-basket-price-unit,
    .mdz-basket-price-total {
        grid-column: 1 / -1;
    }

    .mdz-basket-qty .quantity {
        width: 72px;
        height: 42px;
    }

    .mdz-basket-summary {
        padding: 18px;
        border-radius: 18px;
    }

    .mdz-summary-line .label {
        font-size: 14px;
    }

    .mdz-summary-line .price {
        font-size: 16px;
    }

    .mdz-summary-total .label,
    .mdz-summary-total .price {
        font-size: 19px;
    }

    .mdz-basket-actions {
        flex-direction: column;
    }

    .mdz-basket-actions .button_submit,
    .mdz-basket-actions input[type="submit"],
    .mdz-basket-actions a,
    .mdz-checkout-button {
        width: 100%;
        min-width: 0 !important;
    }
}

/* =========================================
   Modern checkout confirm
========================================= */

.mdz-confirm-wrap {
    margin: 10px 0 28px;
}

.mdz-confirm-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-bottom: 24px;
}

.mdz-confirm-card,
.mdz-fieldset,
.mdz-comments-box,
.mdz-login-box {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 22px;
    box-shadow: var(--shadow-sm);
}

.mdz-confirm-card,
.mdz-comments-box,
.mdz-login-box {
    padding: 20px 22px;
}

.mdz-confirm-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.mdz-confirm-card-head h2 {
    margin: 0;
    font-size: 30px;
}

.mdz-confirm-edit {
    font-size: 14px;
    font-weight: 600;
    color: var(--accent-hover);
    white-space: nowrap;
}

.mdz-address-block p {
    margin: 0;
    color: var(--text);
    line-height: 1.8;
}

.mdz-full-select {
    width: 100% !important;
    max-width: 100% !important;
}

.mdz-register-wrap {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.mdz-section-title {
    margin: 0 0 -4px;
}

.mdz-fieldset {
    padding: 22px;
    margin: 0;
    border-radius: 22px;
}

.mdz-fieldset legend {
    padding: 0 8px;
    font-size: 24px;
    font-family: 'Cormorant Garamond', serif;
    color: var(--heading);
    font-weight: 600;
}

.mdz-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 22px;
}

.mdz-form-grid p {
    margin: 0;
}

.mdz-form-grid p label,
.mdz-comments-box label {
    display: block;
    width: 100%;
    text-align: left;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--heading);
}

.mdz-form-grid input[type="text"],
.mdz-form-grid input[type="password"],
.mdz-form-grid select,
.mdz-form-grid textarea,
.mdz-comments-box textarea {
    width: 100%;
}

.mdz-check-line {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 18px;
}

.mdz-inline-label {
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: 500;
    line-height: 1.5;
}

.mdz-comments-box {
    margin-top: 22px;
}

.mdz-comments-box textarea {
    min-height: 140px;
}

@media only screen and (max-width: 980px) {
    .mdz-confirm-grid,
    .mdz-form-grid {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 650px) {
    .mdz-confirm-card,
    .mdz-fieldset,
    .mdz-comments-box,
    .mdz-login-box {
        border-radius: 16px;
        padding: 16px;
    }

    .mdz-confirm-card-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .mdz-confirm-card-head h2 {
        font-size: 24px;
    }

    .mdz-fieldset legend {
        font-size: 22px;
    }
}


/* =========================================
   Modern auth pages - login / register
========================================= */

.mdz-auth-wrap {
    max-width: 860px;
    margin: 20px auto 32px;
}

.mdz-auth-login {
    max-width: 620px;
}

.mdz-auth-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
    padding: 28px 30px;
}

.mdz-auth-card h1 {
    margin: 0 0 14px;
}

.mdz-auth-intro {
    margin: 0 0 22px;
    color: var(--text-soft);
    font-size: 15px;
    line-height: 1.75;
}

.mdz-auth-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 22px;
}

.mdz-auth-grid p {
    margin: 0;
}

.mdz-auth-grid label {
    display: block;
    width: 100%;
    text-align: left;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--heading);
}

.mdz-auth-grid input[type="text"],
.mdz-auth-grid input[type="password"] {
    width: 100%;
}

.mdz-auth-actions {
    margin-top: 22px;
}

.mdz-auth-button {
    min-width: 220px;
}

.mdz-auth-links {
    margin: 16px 0 0;
}

.mdz-auth-links a {
    font-weight: 600;
    color: var(--accent-hover);
}

.login-method {
    margin: 0;
}

@media only screen and (max-width: 650px) {
    .mdz-auth-wrap {
        margin: 14px auto 24px;
    }

    .mdz-auth-card {
        padding: 18px 16px;
        border-radius: 16px;
    }

    .mdz-auth-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .mdz-auth-button {
        width: 100%;
        min-width: 0;
    }
}


/* =========================================
   Modern contact form
========================================= */

.mdz-contact-wrap {
    max-width: 860px;
    margin: 20px auto 32px;
}

.mdz-contact-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
    padding: 28px 30px;
}

.mdz-contact-card h1 {
    margin: 0 0 14px;
}

.mdz-contact-intro {
    margin: 0 0 22px;
    color: var(--text-soft);
    font-size: 15px;
    line-height: 1.75;
}

.mdz-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 22px;
}

.mdz-contact-grid p,
.mdz-contact-message {
    margin: 0;
}

.mdz-contact-grid label,
.mdz-contact-message label {
    display: block;
    width: 100%;
    text-align: left;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--heading);
}

.mdz-contact-grid input[type="text"],
.mdz-contact-grid select,
.mdz-contact-message textarea {
    width: 100%;
}

.mdz-contact-message {
    margin-top: 18px;
}

.mdz-contact-message textarea {
    min-height: 180px;
}

.mdz-contact-actions {
    margin-top: 22px;
}

.mdz-contact-button {
    min-width: 220px;
}

@media only screen and (max-width: 650px) {
    .mdz-contact-wrap {
        margin: 14px auto 24px;
    }

    .mdz-contact-card {
        padding: 18px 16px;
        border-radius: 16px;
    }

    .mdz-contact-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .mdz-contact-button {
        width: 100%;
        min-width: 0;
    }
}

/* =========================================
   Modern account page
========================================= */

.mdz-account-wrap {
    max-width: 860px;
    margin: 20px auto 32px;
}

.mdz-account-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
    padding: 28px 30px;
}

.mdz-account-card h1 {
    margin: 0 0 12px;
}

.mdz-account-intro {
    margin: 0 0 22px;
    color: var(--text-soft);
    font-size: 15px;
    line-height: 1.75;
}

.mdz-account-links ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.mdz-account-links li {
    margin: 0;
    padding: 0;
}

.mdz-account-links a {
    display: block;
    padding: 16px 18px;
    background: rgba(255, 251, 247, 0.95);
    border: 1px solid var(--border);
    border-radius: 18px;
    color: var(--heading);
    font-weight: 600;
    line-height: 1.5;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}

.mdz-account-links a:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: #dbc7af;
    background: #fff;
    color: var(--accent-hover);
}

@media only screen and (max-width: 650px) {
    .mdz-account-wrap {
        margin: 14px auto 24px;
    }

    .mdz-account-card {
        padding: 18px 16px;
        border-radius: 16px;
    }

    .mdz-account-links ul {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .mdz-account-links a {
        padding: 14px 16px;
        border-radius: 16px;
    }
}

/* =========================================
   Modern addressbook
========================================= */

.mdz-address-wrap {
    max-width: 1000px;
    margin: 20px auto 32px;
}

.mdz-address-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 22px;
}

.mdz-address-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.mdz-address-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 18px;
    box-shadow: var(--shadow-sm);
}

.mdz-address-top {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.mdz-address-lines {
    color: var(--text-soft);
    line-height: 1.6;
    margin-bottom: 14px;
}

.mdz-address-actions {
    display: flex;
    gap: 14px;
    align-items: center;
}

.mdz-edit {
    font-weight: 600;
    color: var(--accent-hover);
}

.mdz-delete {
    font-size: 13px;
    color: #a44;
}

.mdz-add-btn {
    white-space: nowrap;
}

.mdz-address-form {
    margin-top: 28px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 22px;
}

.mdz-address-form h2 {
    margin-bottom: 16px;
}

.mdz-address-bottom {
    margin-top: 16px;
}

/* mobile */
@media (max-width: 650px) {
    .mdz-address-grid {
        grid-template-columns: 1fr;
    }

    .mdz-address-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/* =========================================
   Modern profile page
========================================= */

.mdz-profile-wrap {
    max-width: 900px;
    margin: 20px auto 32px;
}

.mdz-profile-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
    padding: 28px 30px;
}

.mdz-profile-card h1 {
    margin: 0 0 14px;
}

.mdz-profile-intro {
    margin: 0 0 24px;
    color: var(--text-soft);
    font-size: 15px;
    line-height: 1.75;
}

.mdz-password-box {
    margin-top: 24px;
}

.mdz-password-intro {
    margin: 0 0 18px;
    color: var(--text-soft);
    line-height: 1.7;
}

.mdz-profile-actions {
    display: flex;
    gap: 14px;
    margin-top: 24px;
    flex-wrap: wrap;
}

.mdz-profile-actions .button_submit {
    min-width: 180px;
}

.mdz-reset-btn {
    background: #d9d2cc !important;
    color: #6a5d54 !important;
    box-shadow: none !important;
}

.mdz-reset-btn:hover {
    background: #cfc5bd !important;
    color: #5a4f48 !important;
    transform: none !important;
}

@media only screen and (max-width: 650px) {
    .mdz-profile-wrap {
        margin: 14px auto 24px;
    }

    .mdz-profile-card {
        padding: 18px 16px;
        border-radius: 16px;
    }

    .mdz-profile-actions {
        flex-direction: column;
    }

    .mdz-profile-actions .button_submit {
        width: 100%;
        min-width: 0;
    }
}

/* =========================================
   Modern order history
========================================= */

.mdz-orders-wrap {
    max-width: 980px;
    margin: 20px auto 32px;
}

.mdz-orders-intro {
    margin: 0 0 22px;
    color: var(--text-soft);
    font-size: 15px;
    line-height: 1.75;
}

.mdz-orders-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.mdz-order-card,
.mdz-order-lookup-card,
.mdz-orders-empty {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
}

.mdz-order-card {
    padding: 20px 22px;
}

.mdz-order-main {
    display: grid;
    grid-template-columns: 1.2fr 1fr 0.8fr 0.9fr;
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.mdz-order-block {
    min-width: 0;
}

.mdz-order-label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-soft);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mdz-order-value {
    font-size: 15px;
    color: var(--text);
    line-height: 1.5;
}

.mdz-order-number a {
    font-weight: 700;
    color: var(--heading);
}

.mdz-order-total {
    font-weight: 700;
    color: var(--heading);
}

.mdz-order-status {
    display: inline-block;
    padding: 7px 12px;
    background: #f7efe6;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--accent-hover);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}

.mdz-order-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.mdz-order-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: rgba(255, 251, 247, 0.95);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--heading);
    font-weight: 600;
    line-height: 1.2;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}

.mdz-order-action:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
    border-color: #dbc7af;
    background: #fff;
    color: var(--accent-hover);
}

.mdz-order-cancel {
    color: #9a5547;
}

.mdz-order-cancel:hover {
    color: #8b4438;
}

.mdz-orders-pagination {
    margin-bottom: 22px;
}

.mdz-order-lookup-card,
.mdz-orders-empty {
    padding: 24px 26px;
}

.mdz-order-lookup-card h2 {
    margin: 0 0 12px;
}

@media only screen and (max-width: 850px) {
    .mdz-order-main {
        grid-template-columns: 1fr 1fr;
    }
}

@media only screen and (max-width: 650px) {
    .mdz-orders-wrap {
        margin: 14px auto 24px;
    }

    .mdz-order-card,
    .mdz-order-lookup-card,
    .mdz-orders-empty {
        border-radius: 16px;
        padding: 16px;
    }

    .mdz-order-main {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-bottom: 16px;
    }

    .mdz-order-actions {
        flex-direction: column;
    }

    .mdz-order-action {
        width: 100%;
        justify-content: center;
    }
}

/* =========================================
   Modern advanced search
========================================= */

.mdz-search-wrap {
    max-width: 980px;
    margin: 20px auto 32px;
}

.mdz-search-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
    padding: 28px 30px;
}

.mdz-search-card h1 {
    margin: 0 0 14px;
}

.mdz-search-intro {
    margin: 0 0 24px;
    color: var(--text-soft);
    font-size: 15px;
    line-height: 1.75;
}

.mdz-search-section {
    background: rgba(255, 251, 247, 0.85);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 20px;
}

.mdz-search-section h2 {
    margin: 0 0 16px;
    font-size: 28px;
}

.mdz-search-full {
    grid-column: 1 / -1;
}

.mdz-multi-select {
    min-height: 140px;
}

.mdz-field-help {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    color: var(--text-soft);
}

.mdz-check-field {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
}

.mdz-check-field input[type="checkbox"] {
    margin-top: 4px;
}

.mdz-search-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 24px;
}

.mdz-search-button {
    min-width: 220px;
}

@media only screen and (max-width: 650px) {
    .mdz-search-wrap {
        margin: 14px auto 24px;
    }

    .mdz-search-card {
        padding: 18px 16px;
        border-radius: 16px;
    }

    .mdz-search-section {
        padding: 16px;
        border-radius: 16px;
    }

    .mdz-search-section h2 {
        font-size: 24px;
    }

    .mdz-search-actions {
        flex-direction: column;
    }

    .mdz-search-button,
    .mdz-search-actions .button_submit {
        width: 100%;
        min-width: 0;
    }
}


#sidebar {
    position: relative;
    z-index: 5000;
}

#navigation {
    position: relative;
    z-index: 6000;
}

.sf-menu,
.sf-menu li {
    position: relative;
}

.sf-menu ul {
    position: absolute;
    z-index: 7000 !important;
}

/* =========================================
   Clean navigation reset - details/summary
========================================= */

.mdz-nav {
    background: rgba(255,255,255,0.88);
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 16px;
    box-shadow: var(--shadow-sm);
}

.mdz-nav-summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    margin: 0 0 14px;
    background: rgba(255, 251, 247, 0.92);
    border: 1px solid var(--border);
    border-radius: 18px;
}

.mdz-nav-summary::-webkit-details-marker {
    display: none;
}

.mdz-nav-summary-left {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.mdz-nav-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.1;
    color: var(--heading);
}

.mdz-nav-summary-right {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-soft);
    white-space: nowrap;
    font-family: 'Inter', Arial, Helvetica, sans-serif;
}

.mdz-nav .icon.circle {
    font-size: 14px;
    padding: 7px;
    flex: 0 0 auto;
}

.mdz-nav-list {
    width: 100%;
}

.mdz-nav-list > li {
    margin-bottom: 6px;
}

.mdz-nav-list > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 12px;
    color: var(--text) !important;
    font-size: 14px;
    line-height: 1.45;
    background: transparent;
    transition: background 0.2s ease, color 0.2s ease;
}

.mdz-nav-list > li > a:hover {
    background: var(--accent-soft);
    color: var(--heading) !important;
}

.mdz-nav-list ul {
    margin-top: 6px;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff !important;
    box-shadow: var(--shadow-md);
}

.mdz-nav-list ul li {
    margin-bottom: 4px;
}

.mdz-nav-list ul a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 10px;
    color: var(--text-soft) !important;
    font-size: 13px;
    line-height: 1.4;
    background: transparent !important;
}

.mdz-nav-list ul a:hover {
    background: rgba(198, 161, 107, 0.10) !important;
    color: var(--heading) !important;
}

.mdz-sale-link > a {
    background: rgba(198,161,107,0.15) !important;
    color: var(--accent-hover) !important;
    font-weight: 700;
}

/* desktop */
@media (min-width: 651px) {
    .mdz-nav {
        padding: 18px;
    }

    .mdz-nav-summary {
        cursor: default;
    }

    .mdz-nav-summary-right {
        display: none;
    }

    /* desktop altijd open */
    #navigation[open] > .mdz-nav-list {
        display: block;
    }
}

/* mobile */
@media (max-width: 650px) {
    .mdz-nav {
        border-radius: 18px;
        padding: 14px;
    }

    .mdz-nav-summary {
        padding: 12px 14px;
        border-radius: 16px;
        align-items: center;
    }

    .mdz-nav-title {
        font-size: 20px;
    }

    .mdz-nav-summary-right {
        font-size: 11px;
    }

    .mdz-nav-list > li > a {
        padding: 12px 10px;
        font-size: 15px;
    }

    .mdz-nav-list ul a {
        font-size: 14px;
        padding: 10px;
    }
}