: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-sunimg { width:22px; height:22px; object-fit:contain; }
.ml-logoimg { height:28px; width:auto; }
.ml-logoimg--light { display:none; }
.ml-header.is-home .ml-logoimg--ink { display:none; }
.ml-header.is-home .ml-logoimg--light { display: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__m, .ml-banner__m, .ml-silk__m { display:none; }
.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-carousel { position:relative; }
.ml-carousel__track {
  display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:16px;
  padding:28px 56px; scrollbar-width:none; -ms-overflow-style:none;
}
.ml-carousel__track::-webkit-scrollbar { display:none; }
.ml-carousel__track .ml-card { flex:0 0 calc((100% - 48px) / 4); min-width:0; scroll-snap-align:start; }
.ml-carousel__btn {
  position:absolute; top:38%; z-index:2; width:40px; height:40px; border:0; border-radius:50%;
  background:#fff; color:#111; cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.16); font-size:22px; line-height:1;
}
.ml-carousel__prev { left:10px; }
.ml-carousel__next { right:10px; }
.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; min-height:70vh; }
.ml-banner img { width:100%; height:70vh; object-fit:cover; }
.ml-banner__m { display:none; }
.ml-banner div {
  position:absolute; inset:0; z-index:1;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:24px; text-shadow:0 1px 12px rgba(0,0,0,.35);
}
.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; background:rgba(255,255,255,.12); }
.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; line-height:1.1; }
.ml-silk a { display:inline-block; margin-top:10px; text-decoration:underline; }
.ml-silk__m { display:none; }
.ml-gift { text-align:center; padding:24px 0 48px; }
.ml-gift h1 { font-family: Georgia, serif; font-weight:400; font-size:clamp(2.4rem,5vw,3.6rem); margin:0 0 12px; color:#4a5a68; }
.ml-gift__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:28px; }
.ml-gift__grid a { display:block; background:#f4efe6; padding:48px 20px; font-family: Georgia, serif; font-size:1.6rem; }

.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:0 28px 24px; background:linear-gradient(#f7f1e4, #f3e7c8); position:relative; }
.ml-footer__wave {
  height:72px; margin:0 -28px 24px;
  background: radial-gradient(120% 72px at 50% -10px, #fff 60%, transparent 61%);
}
.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-hero__d, .ml-banner__d, .ml-silk__d { display:none; }
  .ml-hero__m, .ml-banner__m, .ml-silk__m { display:block; }
  .ml-carousel__track { padding:20px 12px; }
  .ml-carousel__track .ml-card { flex:0 0 48%; min-width:0; }
  .ml-carousel__btn { display:none; }
  .ml-grid, .ml-grid--3, .ml-grid--4, .ml-footer__grid, .checkout-layout, .ml-ig__row, .ml-gift__grid { grid-template-columns:1fr 1fr; }
  .ml-silk { grid-template-columns:1fr; text-align:center; padding:0 0 24px; }
  .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; }
}

/* Checkout — WaitPay two-col (Geologie pattern) */
body.woocommerce-checkout { background:#fff; }
body.woocommerce-checkout .ml-main--checkout { margin:0; min-height:0; }
.geo-chk-top{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:.85rem 1.5rem;border-bottom:1px solid #e6e6e6;background:#fff;
}
.geo-chk-top__logo{justify-self:center;font-weight:700;letter-spacing:.12em;font-size:14px}
.geo-chk-top__bag{justify-self:end;padding:.4rem}
.geo-woo-checkout{margin:0;padding:0;width:100%}
form.checkout.geo-checkout,
form.woocommerce-checkout.geo-checkout,
body.woocommerce-checkout form.geo-checkout,
.geo-checkout{
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.95fr);
  gap:0;min-height:70vh;width:100%;
}
.geo-checkout__main{padding:2.2rem 8% 3rem;max-width:720px;margin-left:auto}
.geo-checkout-block{margin:0 0 1.6rem}
.geo-checkout-block h2{
  font-size:1.15rem;font-weight:600;margin:0 0 .85rem;letter-spacing:0;
  font-family:inherit;color:#1e2023;display:flex;justify-content:space-between;align-items:baseline;
}
.geo-chk-signin{font-size:.9rem;font-weight:500;color:#1e2023;text-decoration:underline}
.geo-checkout-muted{color:#6d6d6d;font-size:.88rem;margin:-.4rem 0 1rem}
.geo-checkout__aside{
  background:#f5f5f5;padding:2.2rem 8% 3rem 2rem;border-left:1px solid #e6e6e6;
}
.geo-chk-sum-toggle{display:none}
.geo-ship-box{background:#f5f5f5;border-radius:10px;padding:.9rem 1rem;color:#6d6d6d;font-size:.92rem}
.geo-ship-box p{margin:0;text-align:center}
.geo-checkout-policies{display:flex;flex-wrap:wrap;gap:.85rem;margin:2rem 0 0;font-size:.85rem}
.geo-checkout-policies a{color:#1e2023;text-decoration:underline}
.geo-shipping-methods{width:100%;border-collapse:collapse}
.geo-shipping-methods th{display:none}
.geo-shipping-methods td{padding:.7rem .85rem;border:1px solid #d0d0d0;background:#fff;border-radius:8px}
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout #payment .payment_box > p,
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout h1{display:none !important}
.woocommerce-checkout .col2-set,.woocommerce-checkout .col-1,.woocommerce-checkout .col-2{
  display:block;width:100%;float:none;max-width:none;margin:0;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;
}
.woocommerce-checkout .form-row{width:auto !important;float:none !important;margin:0 0 12px !important;padding:0 !important;position:relative}
.woocommerce-checkout .form-row-wide{grid-column:1 / -1}
.woocommerce-checkout .form-row-first{grid-column:1 / 4}
.woocommerce-checkout .form-row-last{grid-column:4 / -1}
.woocommerce-checkout .form-row label{
  position:absolute;left:14px;top:6px;font-size:.7rem;font-weight:600;color:#737373;margin:0;z-index:1;pointer-events:none;
}
.woocommerce-checkout .form-row label .required{display:none}
.woocommerce-checkout #billing_address_2_field label.screen-reader-text{
  clip:auto !important;clip-path:none !important;width:auto !important;height:auto !important;
  margin:0 !important;overflow:visible !important;position:absolute !important;
  left:14px;top:6px;font-size:.7rem;font-weight:600;color:#737373;padding:0;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row .select2-selection{
  height:52px;border:1px solid #d0d0d0;border-radius:8px;padding:18px 12px 6px;background:#fff;width:100%;font-size:1rem;
}
.woocommerce-checkout .form-row input.input-text::placeholder{color:transparent}
.woocommerce-checkout #payment{background:transparent !important;border:0 !important;padding:0 !important}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0;padding:0;border:1px solid #d0d0d0;border-radius:12px;overflow:hidden;background:#fff}
.woocommerce-checkout #payment li.wc_payment_method{padding:12px 14px;margin:0}
.woocommerce-checkout #payment .payment_method_wootbpay_credit_card_gateway{background:#f4f1ec}
.woocommerce-checkout #payment .payment_box{background:transparent;padding:12px 0 4px}
.woocommerce-checkout #payment .payment_box input,
.woocommerce-checkout #payment .payment_box .input-text{
  height:48px;border:1px solid #d0d0d0;border-radius:8px;padding:0 12px;background:#fff;width:100%;margin:0 0 10px;
}
.woocommerce-checkout #place_order,
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout button#place_order{
  width:100%;margin-top:1.1rem;background:#1e2023 !important;color:#fff !important;
  border:0;border-radius:999px;padding:1rem 1.2rem;font-weight:700;font-size:1rem;cursor:pointer;
  text-transform:none;letter-spacing:0;
}
.woocommerce-checkout table.shop_table thead{display:none}
.woocommerce-checkout table.shop_table{width:100%;border:0;background:transparent !important}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td{border:0;border-bottom:1px solid rgba(0,0,0,.08);padding:.7rem 0;text-align:left;vertical-align:middle;font-weight:400}
.woocommerce-checkout table.shop_table .order-total th,
.woocommerce-checkout table.shop_table .order-total td{font-size:1.15rem;font-weight:700;border-bottom:0}
.woocommerce-checkout table.shop_table .product-total,
.woocommerce-checkout table.shop_table tfoot td{text-align:right}
@media (max-width:860px){
  form.checkout.geo-checkout,
  form.woocommerce-checkout.geo-checkout,
  .geo-checkout{grid-template-columns:1fr !important}
  .geo-checkout__aside{order:-1;border-left:0;border-bottom:1px solid #e6e6e6;padding:0;background:#f5f5f5}
  .geo-checkout__main{padding:1.4rem 1rem 2.5rem;max-width:none;margin:0}
  .geo-chk-sum-toggle{
    display:flex;width:100%;justify-content:space-between;align-items:center;
    background:#f5f5f5;border:0;border-bottom:1px solid #e6e6e6;padding:.95rem 1rem;
    font:inherit;font-size:1rem;color:#1e2023;cursor:pointer;
  }
  .geo-chk-sum-toggle::after{content:"▾";margin-left:.35rem}
  .geo-chk-sum-toggle.is-open::after{content:"▴"}
  .geo-chk-sum-body{display:none;padding:1rem 1rem 1.4rem;background:#f5f5f5}
  .geo-chk-sum-body.is-open{display:block}
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last{grid-column:1}
  .geo-chk-top{padding:.55rem 1rem}
}
