:root { --ml-ink:#1c1c1c; --ml-bar:#6b4a3a; --ml-line:#e6e1d8; --ml-bg:#f7f4ef; }
* { box-sizing:border-box; }
html,body { margin:0; }
body { color:var(--ml-ink); background:#fff; font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-size:15px; line-height:1.45; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
button,input,select { font:inherit; }
.ml-bar { background:var(--ml-bar); color:#fff; text-align:center; padding:10px 16px; font-size:13px; letter-spacing:.04em; }
.ml-bar__m { display:none; }
.ml-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; padding:14px 28px; position:relative; z-index:5; }
.ml-header.is-home { position:absolute; left:0; right:0; color:#fff; }
.ml-nav { display:flex; gap:22px; }
.ml-nav__item { position:relative; }
.ml-nav__sub { display:none; position:absolute; top:100%; left:0; background:#fff; color:#111; min-width:220px; padding:12px 0; list-style:none; margin:0; box-shadow:0 12px 28px rgba(0,0,0,.12); z-index:20; }
.ml-nav__item.has-sub:hover .ml-nav__sub { display:block; }
.ml-nav__sub a { display:block; padding:8px 16px; }
.ml-logo { display:flex; align-items:center; gap:8px; justify-content:center; font-weight:700; letter-spacing:.12em; font-size:14px; }
.ml-sun { width:22px; height:22px; border-radius:50%; background:linear-gradient(180deg,#f3c15b,#e07a3d 55%,#d4552b); display:inline-block; }
.ml-tools { display:flex; justify-content:flex-end; align-items:center; gap:16px; }
.ml-search { display:flex; align-items:center; }
.ml-search button { background:none; border:0; color:inherit; cursor:pointer; padding:0; }
.ml-search input { display:none; border:0; border-bottom:1px solid currentColor; background:transparent; width:110px; padding:4px 0; color:inherit; }
.ml-search.is-open input { display:block; }
.ml-bag { display:flex; align-items:center; gap:4px; }
.ml-burger { display:none; background:none; border:0; color:inherit; }
.ml-mobile[hidden] { display:none !important; }
.ml-mobile { display:flex; flex-direction:column; gap:10px; padding:12px 28px; grid-column:1/-1; }

.ml-hero { position:relative; color:#fff; min-height:92vh; }
.ml-hero img { width:100%; height:92vh; object-fit:cover; object-position:center 30%; }
.ml-hero__copy { position:absolute; right:8%; top:42%; max-width:420px; text-align:center; }
.ml-hero h1 { font-family: Georgia, "Times New Roman", serif; font-size:clamp(2.6rem, 5vw, 4.2rem); font-weight:400; margin:0 0 12px; line-height:1.05; }
.ml-hero p { margin:0 0 22px; }
.ml-hero__btns { display:flex; gap:10px; justify-content:center; }
.ml-hero__btns a { border:1px solid #fff; padding:12px 18px; min-width:140px; background:rgba(255,255,255,.12); }
.ml-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; padding:28px 16px; }
.ml-grid--4 { grid-template-columns:repeat(4,1fr); }
.ml-grid--3 { grid-template-columns:repeat(3,1fr); }
.ml-rail__title, .ml-rail__links { text-align:center; letter-spacing:.12em; text-transform:uppercase; font-size:13px; }
.ml-rail__links a { margin:0 12px; }
.ml-ig { background:#666447; color:#fff; }
.ml-ig p { text-align:center; font-family: Georgia, serif; font-size:1.4rem; margin:0; padding:18px; }
.ml-ig__row { display:grid; grid-template-columns:repeat(8,1fr); }
.ml-ig__row img { width:100%; height:220px; object-fit:cover; }
.ml-card__media { background:#f3f0ea; aspect-ratio:3/4; overflow:hidden; position:relative; }
.ml-card__media img { width:100%; height:100%; object-fit:cover; }
.ml-card__b { position:absolute; inset:0; opacity:0; transition:opacity .25s; }
.ml-card:hover .ml-card__b { opacity:1; }
.ml-card__name, .ml-card__price, .ml-card__colors { margin:8px 0 0; font-size:14px; }
.ml-card__price del { opacity:.45; margin-right:6px; }
.ml-banner { position:relative; color:#fff; }
.ml-banner img { width:100%; max-height:78vh; object-fit:cover; }
.ml-banner div { position:absolute; right:8%; top:40%; text-align:center; }
.ml-banner h2 { font-family: Georgia, serif; font-size:clamp(2rem, 4vw, 3.2rem); font-weight:400; margin:0 0 8px; }
.ml-banner a { display:inline-block; border:1px solid #fff; padding:10px 16px; margin:8px 4px 0; }
.ml-silk { display:grid; grid-template-columns:1fr .7fr 1fr; align-items:center; gap:12px; padding:8px; }
.ml-silk h2 { font-family: Georgia, serif; font-size:2.2rem; font-weight:400; }
.ml-silk a { display:inline-block; margin-top:10px; text-decoration:underline; }

.ml-plp-head { padding:40px 20px 12px; text-align:center; }
.ml-plp-head h1 { font-family: Georgia, serif; font-weight:400; font-size:clamp(2.4rem, 5vw, 3.6rem); margin:0; color:#4a5a68; }
.ml-filterbar { display:flex; justify-content:space-between; align-items:center; margin:8px 16px 12px; padding:12px 18px; background:#f4efe6; }
.ml-filterbar select { border:0; background:transparent; }
.ml-pager { text-align:center; padding:16px 8px 64px; }
.ml-more { display:inline-block; background:#1c1c1c; color:#fff; padding:12px 28px; margin-bottom:18px; }
.ml-pages ul { display:flex; justify-content:center; gap:12px; list-style:none; padding:0; }
.ml-pages .current { text-decoration:underline; }

.ml-pdp { display:grid; grid-template-columns:minmax(0,1.15fr) 420px; gap:0; padding:0 0 48px; align-items:start; }
.ml-pdp__media { background:#ece8e2; display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.ml-pdp__media img { width:100%; }
.ml-pdp__media img:first-child { grid-column:1 / -1; }
.ml-pdp__buy { position:sticky; top:16px; padding:32px 28px; }
.ml-pdp__buy h1 { font-family: Georgia, serif; font-size:2rem; font-weight:400; margin:0 0 8px; color:#4a5a68; }
.ml-stars { color:#4a5a68; font-size:13px; }
.ml-stars span { margin-left:6px; }
.ml-lede { color:#4a5a68; }
.ml-atc:disabled { background:#cfd6dc; color:#fff; cursor:default; }
.ml-swatches { display:flex; gap:8px; margin:8px 0 14px; }
.ml-swatches i { width:22px; height:22px; border-radius:50%; background:#555; border:1px solid #ccc; }
.ml-swatches i.is-on { box-shadow:0 0 0 1px #fff, 0 0 0 2px #111; }
.ml-size-label { display:flex; justify-content:space-between; }
.ml-size-label a { text-decoration:underline; }
.ml-sizes { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:8px 0 16px; }
.ml-sizes button { min-width:0; width:100%; height:44px; border:1px solid #111; background:#fff; cursor:pointer; }
.ml-sizes button.is-on { background:#111; color:#fff; }
.ml-atc, .ml-buy { display:block; width:100%; min-height:48px; margin-top:8px; cursor:pointer; }
.ml-atc { background:#1c1c1c; color:#fff; border:0; }
.ml-buy { background:#fff; color:#111; border:1px solid #111; }
.ml-ship { font-size:13px; }
.ml-pdp details { border-top:1px solid var(--ml-line); padding:12px 0; margin-top:16px; }
.ml-pdp summary { cursor:pointer; list-style:none; }
.ml-related { padding:24px 16px 64px; }
.ml-related h2 { font-family: Georgia, serif; font-weight:400; padding:0 8px; }

.ml-page { padding:24px 0 80px; }
.ml-wrap { width:min(860px, calc(100% - 40px)); margin:0 auto; }
.ml-cms h1 { font-family: Georgia, serif; font-weight:400; }
.ml-cms p, .ml-cms li { line-height:1.55; }
.ml-cms a { text-decoration:underline; }
.ml-cart { padding:32px 0 80px; }
.ml-cart h1 { font-family: Georgia, serif; font-weight:400; }
.ml-line { display:flex; gap:16px; margin:16px 0; padding-bottom:16px; border-bottom:1px solid var(--ml-line); }
.ml-line img { width:90px; height:120px; object-fit:cover; }
.ml-cart .ml-atc { display:inline-block; text-align:center; width:auto; padding:12px 28px; }
.ml-check-title { width:min(1040px, calc(100% - 32px)); margin:24px auto 0; font-family: Georgia, serif; font-weight:400; }
.checkout-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:40px; width:min(1040px, calc(100% - 32px)); margin:24px auto 64px; }
.checkout-block { margin-bottom:28px; }
.woocommerce-billing-fields input.input-text, .woocommerce-billing-fields select { width:100%; border:0; border-bottom:1px solid #111; padding:10px 0; background:transparent; margin-bottom:12px; }
.woocommerce-checkout .woocommerce-message { display:none; }
#place_order { display:block; width:100%; background:#1c1c1c; color:#fff; border:0; min-height:48px; cursor:pointer; }
.checkout-layout aside { background:var(--ml-bg); padding:20px; }

.ml-card__dots { display:flex; gap:6px; margin-top:8px; }
.ml-card__dots i { width:12px; height:12px; border-radius:50%; background:#777; display:inline-block; }
.ml-about__hero { width:100%; margin-bottom:28px; }
.ml-about h1 { text-align:center; letter-spacing:.06em; }
.ml-footer { padding:56px 28px 24px; background:linear-gradient(#f7f1e4, #f3e7c8); position:relative; }
.ml-footer__grid { display:grid; grid-template-columns:1fr 1fr 1fr 1.2fr; gap:24px; width:min(1100px, 100%); margin:0 auto; }
.ml-footer h3 { font-size:14px; margin:0 0 12px; }
.ml-footer a { display:block; padding:4px 0; color:#5b6b78; }
.ml-social a { display:inline; margin-right:10px; }
.ml-signup { background:#fff; padding:18px; }
.ml-signup input[type=email] { width:100%; border:1px solid #ccc; padding:8px; margin:8px 0; }
.ml-signup button { background:#6b7c89; color:#fff; border:0; padding:10px 16px; width:100%; cursor:pointer; }
.ml-legal { width:min(1100px, 100%); margin:28px auto 0; font-size:12px; display:flex; gap:16px; flex-wrap:wrap; }
.ml-legal a { display:inline; }

@media (max-width: 900px) {
  .ml-nav { display:none; }
  .ml-burger { display:block; }
  .ml-header { grid-template-columns:40px 1fr auto; padding:10px 12px; }
  .ml-header.is-home { color:#fff; }
  .ml-bar__full { display:none; }
  .ml-bar__m { display:inline; }
  .ml-hero__copy { right:16px; left:16px; max-width:none; }
  .ml-grid, .ml-grid--3, .ml-grid--4, .ml-footer__grid, .checkout-layout, .ml-silk, .ml-ig__row { grid-template-columns:1fr 1fr; }
  .ml-pdp { grid-template-columns:1fr; }
  .ml-pdp__media {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:0;
  }
  .ml-pdp__media img {
    flex:0 0 100%;
    width:100%;
    max-width:100%;
    scroll-snap-align:start;
    object-fit:cover;
    aspect-ratio:1;
    grid-column:auto;
  }
  .ml-pdp__buy { position:static; padding:20px 16px 32px; }
  .ml-pdp__buy h1 { font-size:1.7rem; }
  .ml-atc:disabled { text-transform:uppercase; letter-spacing:.08em; }
  .ml-mobile { padding:8px 16px 16px; }
  .ml-mobile__sub { padding-left:12px; font-size:14px; opacity:.75; }
}
@media (max-width: 600px) {
  .ml-hero img, .ml-hero { height:70vh; min-height:70vh; }
  .ml-related .ml-grid { grid-template-columns:1fr 1fr; padding:16px 12px 48px; }
}
