/*
Theme Name: MorningSol
Theme URI: http://localhost/morningsol
Author: MorningSol
Author URI: http://localhost/morningsol
Description: Minimalist fashion e-commerce theme for WooCommerce, inspired by DISSH. Clean, lots of whitespace, uppercase navigation, centered logo, image-swap product cards, slide-in cart drawer.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: morningsol
Tags: e-commerce, fashion, minimalist, woocommerce
WC requires at least: 6.0
WC tested up to: 11.0
*/

/* ============================================================
   0. DESIGN TOKENS
   ============================================================ */
:root{
  --ms-black:#000000;
  --ms-white:#ffffff;
  --ms-grey:#6f6f6f;
  --ms-grey-light:#9a9a9a;
  --ms-border:#e6e6e6;
  --ms-border-dark:#111111;
  --ms-bg-muted:#f6f5f3;
  --ms-container:none;      /* full-bleed: no max-width cap anywhere */
  --ms-gutter:clamp(16px,4vw,48px);
  --ms-font: "Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;
  --ms-track-wide:2.5px;
  --ms-track-mid:1.5px;
  --ms-header-h:110px;
  --ms-transition:.4s cubic-bezier(.22,.61,.36,1);
}

/* ============================================================
   1. RESET / BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--ms-font);
  font-weight:300;
  font-size:15px;
  line-height:1.6;
  color:var(--ms-black);
  background:var(--ms-white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;transition:color var(--ms-transition),opacity var(--ms-transition);}
a:hover{opacity:.6;}
h1,h2,h3,h4,h5,h6{font-weight:300;margin:0 0 .5em;letter-spacing:var(--ms-track-mid);}
button{font-family:inherit;cursor:pointer;}
ul{list-style:none;margin:0;padding:0;}
.ms-container{max-width:var(--ms-container);margin:0 auto;padding:0 var(--ms-gutter);width:100%;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}

/* ---- Buttons ---- */
.ms-btn{
  display:inline-block;
  padding:14px 34px;
  font-size:12px;
  font-weight:400;
  letter-spacing:var(--ms-track-wide);
  text-transform:uppercase;
  background:var(--ms-black);
  color:var(--ms-white)!important;
  border:1px solid var(--ms-black);
  transition:all var(--ms-transition);
}
.ms-btn:hover{background:transparent;color:var(--ms-black)!important;opacity:1;}
.ms-btn--light{background:var(--ms-white);color:var(--ms-black)!important;border-color:var(--ms-white);}
.ms-btn--light:hover{background:transparent;color:var(--ms-white)!important;}
.ms-btn--outline{background:transparent;color:var(--ms-black)!important;border-color:var(--ms-black);}
.ms-btn--outline:hover{background:var(--ms-black);color:var(--ms-white)!important;}

.ms-section-title{
  text-align:center;
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:clamp(18px,2vw,26px);
  margin:0 0 .3em;
}
.ms-section-sub{
  text-align:center;
  color:var(--ms-grey);
  font-size:14px;
  max-width:560px;
  margin:0 auto 2.5em;
}
.ms-eyebrow{
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:11px;
  color:var(--ms-grey);
}

/* ============================================================
   2. ANNOUNCEMENT BAR
   ============================================================ */
/* Putih, menyatu dengan header (tanpa garis pemisah), teks berjalan. */
.ms-announce{
  background:var(--ms-white);
  color:var(--ms-black);
  font-size:11px;
  letter-spacing:.8px;
  padding:9px 0 2px;
  overflow:hidden;
  white-space:nowrap;
}
.ms-announce__track{display:flex;width:max-content;animation:ms-marquee 45s linear infinite;will-change:transform;}
.ms-announce:hover .ms-announce__track{animation-play-state:paused;}
.ms-announce__group{display:flex;flex:0 0 auto;}
.ms-announce__item{display:inline-block;padding:0 56px;color:inherit;}
a.ms-announce__item:hover{text-decoration:underline;text-underline-offset:2px;}
@keyframes ms-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){
  .ms-announce__track{animation:none;}
}

/* ============================================================
   3. HEADER
   ============================================================ */
.ms-header{
  position:sticky;top:0;z-index:900;
  background:var(--ms-white);
  border-bottom:1px solid var(--ms-border);
  transition:box-shadow var(--ms-transition);
}
.ms-header.is-stuck{box-shadow:0 4px 20px rgba(0,0,0,.05);}
.ms-header__bar{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:18px 20px;
  gap:20px;
}
.ms-header__left{display:flex;justify-content:flex-start;align-items:center;gap:18px;}
.ms-header__logo{justify-self:center;text-align:center;}
.ms-header__logo a{
  font-size:19px;letter-spacing:5px;font-weight:400;text-transform:uppercase;
}
.ms-header__logo img{max-height:18px;width:auto;margin:0 auto;}
.ms-header__right{display:flex;justify-content:flex-end;align-items:center;gap:18px;}

/* Inline search box (desktop) */
.ms-header__search{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--ms-border-dark);padding:4px 2px;min-width:180px;}
.ms-header__search-ico{display:inline-flex;}
.ms-header__search-ico svg{width:17px;height:17px;}
.ms-header__search input[type=search]{
  border:none;background:transparent;outline:none;font-family:inherit;font-size:13px;letter-spacing:.5px;width:100%;
}
.ms-icon-btn{background:none;border:none;padding:0;display:inline-flex;color:var(--ms-black);}
/* Tombol lupa search hanya untuk HP (≤900px); di desktop sudah ada kotak search
   inline. Spesifisitas dinaikkan agar tidak kalah dari .ms-icon-btn. */
.ms-icon-btn.ms-search-mobile{display:none;}
.ms-icon-btn svg{width:22px;height:22px;}
.ms-cart-btn{position:relative;}
.ms-cart-count{
  position:absolute;top:-8px;right:-10px;
  background:var(--ms-black);color:var(--ms-white);
  font-size:10px;line-height:1;min-width:16px;height:16px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;padding:0 3px;
}

/* ---- Primary nav (inline, left of logo) ---- */
.ms-nav{display:flex;align-items:center;}
.ms-nav__list{
  display:flex;justify-content:flex-start;align-items:center;
  gap:clamp(16px,1.8vw,30px);
}
.ms-nav__list a{
  text-transform:none;
  letter-spacing:.4px;
  font-size:14px;font-weight:300;
  padding:6px 0;display:inline-block;position:relative;
}
.ms-nav__list a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ms-black);
  transition:width var(--ms-transition);
}
.ms-nav__list li:hover > a::after,.ms-nav__list li.is-open > a::after,.ms-nav__list .current-menu-item > a::after{width:100%;}
.ms-nav__list li:hover > a,.ms-nav__list li.is-open > a{opacity:1;}

/* ---- Mega / dropdown menu (DISSH-style, 3 levels) ---- */
.ms-nav__list li.menu-item-has-children{position:static;}

/* Level-1 dropdown = full-width mega panel */
.ms-nav__list > li.menu-item-has-children > .sub-menu{
  position:absolute;left:0;right:0;top:100%;
  background:var(--ms-white);
  border-top:1px solid var(--ms-border);
  border-bottom:1px solid var(--ms-border);
  display:flex;align-items:flex-start;
  gap:clamp(30px,4vw,64px);
  padding:44px var(--ms-gutter);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:all var(--ms-transition);
  box-shadow:0 20px 30px rgba(0,0,0,.04);
}
/* Buka via JS (hover disengaja dengan jeda, atau klik) — bukan :hover CSS,
   supaya panel tidak muncul hanya karena kursor lewat di dekat "Shop". */
.ms-nav__list > li.menu-item-has-children.is-open > .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.ms-nav__list .sub-menu a::after{display:none;}

/* Columns inside the panel */
.ms-nav__list > li > .sub-menu > li{flex:0 0 auto;min-width:150px;}

/* Column heading (level-2 item) */
.ms-nav__list > li > .sub-menu > li > a{
  display:block;color:var(--ms-grey);
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  padding:0;margin-bottom:16px;opacity:1;
}

/* Level-3 list = plain stacked links, always visible */
.ms-nav__list > li > .sub-menu > li > .sub-menu{
  position:static;opacity:1;visibility:visible;transform:none;
  display:block;background:none;border:none;box-shadow:none;padding:0;gap:0;
}
.ms-nav__list > li > .sub-menu > li > .sub-menu a{
  display:block;color:var(--ms-black);
  font-size:13px;letter-spacing:.4px;text-transform:none;
  padding:6px 0;font-weight:300;
}
.ms-nav__list > li > .sub-menu > li > .sub-menu a:hover{opacity:.6;}

/* Flat (2-level) dropdowns without headings still look tidy */
.ms-nav__list > li > .sub-menu > li:not(.menu-item-has-children) > a{
  display:block;color:var(--ms-black);font-size:13px;letter-spacing:.4px;padding:6px 0;font-weight:300;
}

/* Mega-menu ala DISSH: teks pengantar kiri + kartu foto per item (Appearance → Menus) */
.ms-mega-intro{flex:0 0 clamp(180px,16vw,240px)!important;min-width:0!important;font-size:14px;line-height:1.7;color:var(--ms-black);font-weight:300;padding-right:8px;}
/* Kartu boleh menyusut agar 5–6 item tetap muat satu baris tanpa scroll samping. */
.ms-nav__list > li > .sub-menu > li.ms-mega-card{flex:1 1 0!important;max-width:250px;min-width:0!important;}
.ms-nav__list > li > .sub-menu > li.ms-mega-card > a{display:block;padding:0;margin:0;color:var(--ms-black);text-transform:none;letter-spacing:.3px;font-size:14px;opacity:1;}
.ms-mega-card__img{display:block;width:100%;aspect-ratio:4/5;background:#e5e2dd center/cover no-repeat;transition:opacity var(--ms-transition);}
.ms-mega-card > a:hover .ms-mega-card__img{opacity:.85;}
.ms-mega-card__label{display:block;margin-top:14px;}

/* Promo image tile pushed to the right */
/* Landscape 3:2 (permintaan Sep 2026), bukan portrait */
.ms-mega-promo{margin-left:auto;flex:0 0 clamp(340px,32vw,520px)!important;min-width:0!important;}
.ms-mega-promo a{display:block;}
.ms-mega-promo__img{display:block;width:100%;aspect-ratio:3/2;background:#e5e2dd center/cover no-repeat;}
.ms-mega-promo__label{display:block;margin-top:12px;font-size:12px;letter-spacing:1px;color:var(--ms-black);}

/* ============================================================
   4. MOBILE NAV
   ============================================================ */
.ms-burger{display:none;background:none;border:none;padding:0;color:var(--ms-black);}
.ms-burger svg{width:24px;height:24px;}
.ms-mobile-nav{
  position:fixed;top:0;left:0;bottom:0;width:min(86vw,380px);
  background:var(--ms-white);z-index:1200;transform:translateX(-100%);
  transition:transform var(--ms-transition);padding:24px;overflow-y:auto;
}
.ms-mobile-nav.is-open{transform:translateX(0);}
.ms-mobile-nav__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;}
.ms-mobile-nav a{display:block;text-transform:uppercase;letter-spacing:var(--ms-track-mid);font-size:14px;padding:14px 0;border-bottom:1px solid var(--ms-border);}
.ms-mobile-nav .sub-menu{padding-left:16px;}
.ms-mobile-nav .sub-menu a{font-size:12px;color:var(--ms-grey);border-bottom:none;padding:8px 0;}

/* ============================================================
   5. OVERLAY (shared by drawers)
   ============================================================ */
.ms-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.35);
  opacity:0;visibility:hidden;z-index:1100;transition:opacity var(--ms-transition),visibility var(--ms-transition);
}
.ms-overlay.is-active{opacity:1;visibility:visible;}

/* Search panel */
.ms-search-panel{
  position:fixed;top:0;left:0;right:0;background:var(--ms-white);z-index:1200;
  transform:translateY(-100%);transition:transform var(--ms-transition);
  padding-bottom:50px;box-shadow:0 20px 40px rgba(0,0,0,.06);
}
.ms-search-panel.is-open{transform:translateY(0);}
.ms-search-panel form{display:flex;border-bottom:1px solid var(--ms-black);}
.ms-search-panel input[type=search],.ms-search-panel input[type=text]{
  flex:1;border:none;background:transparent;font-family:inherit;font-size:22px;font-weight:300;
  letter-spacing:1px;padding:14px 4px;outline:none;
}
.ms-search-panel button[type=submit]{background:none;border:none;text-transform:uppercase;letter-spacing:2px;font-size:12px;padding:0 10px;}

/* ============================================================
   6. HOMEPAGE SECTIONS
   ============================================================ */
.ms-home > section{margin:0;}

/* Hero */
/* Hero: kotak mengikuti rasio video 16:9 supaya video tampil utuh (tidak ada
   kepala terpotong). Kalau layar lebih pendek dari 16:9 (max-height), potongan
   diambil dari BAWAH (area putih kosong) lewat object-position top.
   56.25vw = lebar × 9/16. */
.ms-hero{position:relative;height:min(56.25vw,92vh);display:flex;align-items:flex-end;justify-content:center;background:#fff center top/cover no-repeat;overflow:hidden;}
.ms-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:0;}
.ms-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.4));}
.ms-hero__inner{position:relative;z-index:2;text-align:center;color:var(--ms-white);padding:0 20px 12vh;}
.ms-hero__title{font-size:clamp(34px,6vw,72px);letter-spacing:6px;text-transform:uppercase;color:#fff;margin-bottom:.15em;}
.ms-hero__sub{letter-spacing:3px;text-transform:uppercase;font-size:13px;margin-bottom:1.6em;color:#fff;}
/* CTA hero ala DISSH: teks putih kecil bergaris bawah, bukan tombol kotak */
.ms-hero__cta{display:inline-block;color:#fff;font-size:14px;letter-spacing:.5px;border-bottom:1px solid #fff;padding-bottom:3px;transition:border-color var(--ms-transition);}
.ms-hero__cta:hover{border-color:transparent;}

/* Category tiles (full-bleed) */
.ms-tiles{padding:0;}
.ms-tiles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.ms-tile{position:relative;overflow:hidden;background:var(--ms-bg-muted);}
.ms-tile__img{display:block;aspect-ratio:3/4;background:#e5e2dd center/cover no-repeat;transition:transform 1.2s cubic-bezier(.22,.61,.36,1);}
.ms-tile:hover .ms-tile__img{transform:scale(1.05);}
.ms-tile__cap{position:absolute;left:0;right:0;bottom:26px;text-align:center;color:var(--ms-white);z-index:2;}
.ms-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35));}
.ms-tile__label{position:relative;z-index:3;text-transform:uppercase;letter-spacing:3px;font-size:15px;margin-bottom:14px;display:block;}
/* CTA tile = teks bergaris bawah seperti DISSH ("Explore Now"), bukan tombol kotak */
.ms-tile .ms-btn{background:transparent;border:0;border-bottom:1px solid #fff;color:#fff!important;padding:0 0 3px;font-size:13px;letter-spacing:.5px;text-transform:none;min-width:0;}

/* Wide banner */
/* Jeda 6px (sama dengan gap grid tiles) antara hero dan wide banner agar dua
   section gambar tidak saling menempel. (.ms-home > section{margin:0} di atas
   punya spesifisitas lebih tinggi, jadi selector di sini ikut .ms-home.) */
.ms-home > .ms-wide,.ms-home > .ms-tiles{margin-top:clamp(12px,1vw,28px);}
/* Wide banner: blok sejenis hero (DISSH) — rasio 2:1 desktop / 2:3 HP, boleh
   video atau foto, teks di kiri bawah (link bergaris bawah) atau di tengah. */
.ms-wide{position:relative;aspect-ratio:2/1;display:flex;align-items:center;justify-content:center;background:#cfc9c1 center/cover no-repeat;overflow:hidden;}
.ms-wide::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.15);z-index:1;}
.ms-wide__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.ms-wide__overlay{position:absolute;inset:0;z-index:2;}
.ms-wide__inner{position:relative;z-index:3;text-align:center;color:#fff;}
.ms-wide__title{font-size:clamp(30px,5vw,60px);letter-spacing:5px;text-transform:uppercase;color:#fff;margin-bottom:1em;}
.ms-wide--bottom-left{align-items:flex-end;justify-content:flex-start;}
.ms-wide--bottom-left .ms-wide__inner{text-align:left;padding:0 clamp(24px,4vw,60px) clamp(28px,4vw,60px);}
/* Judul banner memakai gaya yang sama dengan .ms-section-title (Roboto, kapital, spasi huruf) */
.ms-wide--bottom-left .ms-wide__title{font-family:inherit;font-weight:300;text-transform:uppercase;letter-spacing:3px;font-size:clamp(22px,2.4vw,34px);margin-bottom:.7em;}
.ms-wide__cta{color:#fff;font-size:13px;letter-spacing:.5px;border-bottom:1px solid #fff;padding-bottom:3px;}
.ms-wide__cta:hover{border-color:transparent;}
@media (max-width:767px){.ms-wide{aspect-ratio:2/3;}}

/* Product carousel */
.ms-carousel{padding:clamp(48px,7vw,96px) 0;}
/* Track is just a wrapper — the inner ul.products is the real 4-col grid.
   Making the track a grid too would nest ul.products into one column (25% wide). */
.ms-carousel__track{display:block;}
/* Section koleksi per kategori (setelah New In): judul kiri + "View All" kanan,
   6 produk per baris (3 di tablet, 2 di HP — ikut aturan responsif ul.products). */
/* Section produk yang berurutan (koleksi → koleksi → New In) tidak menumpuk padding */
.ms-collection + .ms-carousel{padding-top:0;}
/* Banner di bawah deretan koleksi: jeda sama seperti banner utama */
.ms-home > .ms-wide--row{margin-top:0;margin-bottom:clamp(12px,1vw,28px);}
.ms-collection__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:0 var(--ms-gutter);margin-bottom:18px;}
.ms-collection__head .ms-section-title{text-align:left;margin:0;}
.ms-collection__all{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ms-black);border-bottom:1px solid var(--ms-black);padding-bottom:2px;white-space:nowrap;}
.ms-collection--6 .woocommerce ul.products,.ms-collection--6 ul.products{grid-template-columns:repeat(6,1fr);}
.ms-collection--4 .woocommerce ul.products,.ms-collection--4 ul.products{grid-template-columns:repeat(4,1fr);}
@media (max-width:1024px){.ms-collection .woocommerce ul.products,.ms-collection ul.products{grid-template-columns:repeat(3,1fr)!important;}}
@media (max-width:600px){.ms-collection .woocommerce ul.products,.ms-collection ul.products{grid-template-columns:repeat(2,1fr)!important;}}

/* Newsletter */
.ms-newsletter{padding:clamp(56px,8vw,110px) 0;text-align:center;background:var(--ms-white);}
.ms-newsletter--muted{background:var(--ms-bg-muted);}
.ms-form-inline{display:flex;max-width:460px;margin:0 auto;gap:0;border-bottom:1px solid var(--ms-black);}
.ms-form-inline input[type=email]{flex:1;border:none;background:transparent;padding:12px 6px;font-family:inherit;font-size:14px;letter-spacing:1px;outline:none;}
.ms-form-inline button{background:none;border:none;text-transform:uppercase;letter-spacing:2px;font-size:12px;padding:12px 6px;}
.ms-newsletter__msg{margin:14px auto 0;font-size:12px;letter-spacing:.5px;min-height:1em;}
.ms-newsletter__msg.is-ok{color:#2e5d34;}
.ms-newsletter__msg.is-err{color:#8a2f22;}
/* Varian kolom footer: minimal ala Shopatvelvet — judul, checkbox minat, email + panah */
.ms-newsletter--footer{padding:0;background:transparent;text-align:left;}
.ms-newsletter--footer .ms-form-inline{display:block;margin:0;max-width:280px;border-bottom:none;}
.ms-newsletter__interests{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.ms-newsletter__interests label{
  display:flex;align-items:center;gap:10px;
  font-size:13px;color:var(--ms-grey);cursor:pointer;
}
.ms-newsletter__interests input[type=checkbox]{
  appearance:none;-webkit-appearance:none;
  width:16px;height:16px;margin:0;border:1px solid var(--ms-border-dark);
  background:transparent;cursor:pointer;display:inline-block;position:relative;
}
.ms-newsletter__interests input[type=checkbox]:checked::after{
  content:"";position:absolute;inset:3px;background:var(--ms-black);
}
.ms-newsletter__row{display:flex;align-items:center;border-bottom:1px solid var(--ms-black);}
.ms-newsletter__row input[type=email]{
  flex:1;border:none;background:transparent;padding:10px 4px 10px 0;
  font-family:inherit;font-size:13px;letter-spacing:.5px;outline:none;min-width:0;
}
.ms-newsletter__row button{
  background:none;border:none;cursor:pointer;
  font-size:18px;line-height:1;padding:10px 0 10px 8px;color:var(--ms-black);
}
.ms-newsletter--footer .ms-newsletter__msg{margin:10px 0 0;text-align:left;}

/* Muses / editorial (full-bleed, 4 images) */
.ms-muses{padding:clamp(40px,6vw,80px) 0 0;}
.ms-muses__head{padding:0 var(--ms-gutter) 22px;}
.ms-muses__title{
  font-family:inherit;font-weight:300;text-transform:uppercase;letter-spacing:3px;
  font-size:clamp(18px,2vw,26px);margin:0;
}
/* Grid ala DISSH/Foursixty: 4 foto 2:3 per tampilan, geser dengan panah di bawah
   kanan (scroll-snap). Klik foto membuka jendela belanja (inc/muses.php, js/muses.js). */
.ms-muses__grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 18px) / 4);gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.ms-muses__grid::-webkit-scrollbar{display:none;}
.ms-muse{display:block;position:relative;overflow:hidden;background:var(--ms-bg-muted);scroll-snap-align:start;}
.ms-muse img,.ms-muse__ph{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.22,.61,.36,1);}
.ms-muse:hover img{transform:scale(1.04);}
.ms-muse__badge{position:absolute;right:12px;bottom:12px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ms-black);font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;}
.ms-muse:hover .ms-muse__badge{opacity:1;}
.ms-muses__arrows{display:flex;justify-content:flex-end;gap:6px;padding:14px var(--ms-gutter) 0;}
.ms-muses__arrows button{width:32px;height:32px;border:0;background:transparent;color:var(--ms-black);font-size:24px;line-height:1;cursor:pointer;}
.ms-muses__arrows button:disabled{color:#ccc;cursor:default;}

/* Jendela belanja */
body.ms-shop-modal-open{overflow:hidden;}
.ms-shop-modal{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;padding:20px;}
.ms-shop-modal.is-open{display:flex;}
.ms-shop-modal__panel{background:#f7f5f0;width:min(1040px,100%);max-height:min(840px,100%);display:grid;grid-template-columns:minmax(0,600px) minmax(0,1fr);gap:20px;padding:20px;overflow:hidden;}
.ms-shop-modal__media{position:relative;aspect-ratio:3/4;overflow:hidden;background:#e9e6df;}
.ms-shop-modal__img{width:100%;height:100%;object-fit:cover;display:block;}
.ms-shop-modal__dot{position:absolute;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:#fff;color:var(--ms-black);font-size:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 6px rgba(0,0,0,.35);text-decoration:none;}
.ms-shop-modal__dot.is-hot{background:var(--ms-black);color:#fff;}
.ms-shop-modal__tip{position:absolute;top:34px;left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(0,0,0,.85);color:#fff;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:8px 12px;opacity:0;pointer-events:none;transition:opacity .2s;}
.ms-shop-modal__dot:hover .ms-shop-modal__tip,.ms-shop-modal__dot.is-hot .ms-shop-modal__tip{opacity:1;}
.ms-shop-modal__side{display:flex;flex-direction:column;min-height:0;overflow-y:auto;}
.ms-shop-modal__bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.ms-shop-modal__nav button,.ms-shop-modal__close{border:0;background:transparent;color:var(--ms-black);cursor:pointer;font-size:26px;line-height:1;width:32px;height:32px;}
.ms-shop-modal__nav button:disabled{color:#ccc;cursor:default;}
.ms-shop-modal__products{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 24px;}
.ms-shop-modal__card{display:block;text-align:center;color:var(--ms-black);text-decoration:none;}
.ms-shop-modal__cardimg{position:relative;display:block;width:160px;max-width:100%;margin:0 auto 14px;aspect-ratio:2/3;overflow:hidden;background:#e9e6df;}
.ms-shop-modal__cardimg img{width:100%;height:100%;object-fit:cover;display:block;}
.ms-shop-modal__cardnum{position:absolute;top:8px;left:8px;width:22px;height:22px;border-radius:50%;background:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;}
.ms-shop-modal__card.is-hot .ms-shop-modal__cardnum{background:var(--ms-black);color:#fff;}
.ms-shop-modal__cardname{display:block;font-size:12px;letter-spacing:.5px;text-transform:uppercase;line-height:1.5;margin-bottom:10px;}
.ms-shop-modal__cardprice{display:none;}
.ms-shop-modal__cardcta{display:inline-block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid var(--ms-black);padding-bottom:2px;}
.ms-shop-modal__meta{margin-top:auto;padding-top:16px;font-size:13px;color:var(--ms-grey);}
.ms-shop-modal__caption{margin:0 0 12px;line-height:1.7;}
.ms-shop-modal__ig{color:var(--ms-black);text-decoration:underline;font-size:12px;letter-spacing:.5px;}

/* Store locator */
.ms-stores{padding:clamp(48px,7vw,96px) 0;}
.ms-stores__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:2.4em;}
.ms-stores__grid--4{grid-template-columns:repeat(4,1fr);}
.ms-store{display:block;text-align:center;color:inherit;text-decoration:none;}
.ms-store__img{display:block;aspect-ratio:4/5;background:#e5e2dd center/cover no-repeat;margin-bottom:16px;transition:opacity var(--ms-transition);}
.ms-store:hover .ms-store__img{opacity:.85;}
.ms-store__name{display:block;}
.ms-store__name{text-transform:uppercase;letter-spacing:2px;font-size:13px;}
.ms-stores__cta{text-align:center;}

/* Commitment */
.ms-commit{position:relative;min-height:70vh;display:flex;align-items:center;background:#2c2a27 center/cover no-repeat;color:#fff;padding:clamp(48px,7vw,96px) 0;}
.ms-commit::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45);}
.ms-commit__inner{position:relative;z-index:2;width:100%;}
.ms-commit__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.5vw,40px);}
.ms-pillar{text-align:center;color:#fff;}
.ms-pillar h3{color:#fff;text-transform:uppercase;letter-spacing:3px;font-size:15px;margin-bottom:.8em;}
/* Ukuran teks mengikuti paragraf editorial (15px/1.9, lihat .ms-story__inner)
   supaya situs tidak punya beberapa ukuran paragraf yang beda tipis.
   Warna tetap putih transparan karena section ini berlatar gelap. */
.ms-pillar p{font-size:15px;line-height:1.9;letter-spacing:.3px;color:rgba(255,255,255,.85);}
/* Satu kolom = pernyataan, bukan sisa grid empat kolom. Melebar penuh dengan
   ukuran huruf naik agar jatuh di sekitar tiga baris, bukan enam baris sempit. */
/* Jumlah kolom mengikuti jumlah isi. Tanpa ini tiga kolom tetap dipasang di
   grid empat kolom dan menyisakan satu kolom kosong di kanan. */
.ms-commit__grid--1{grid-template-columns:1fr;}
.ms-commit__grid--2{grid-template-columns:repeat(2,1fr);}
.ms-commit__grid--3{grid-template-columns:repeat(3,1fr);}
.ms-commit__grid--1 .ms-pillar{max-width:720px;margin-inline:auto;}
/* Dua kolom: jangan biarkan tiap kolom selebar setengah layar pada monitor besar. */
.ms-commit__grid--2{max-width:1100px;margin-inline:auto;}

/* ============================================================
   7. PRODUCT CARD (minimalist)
   ============================================================ */
ul.products,.ms-carousel__track{margin:0;padding:0;}
li.product,.ms-product-card{list-style:none;text-align:left;position:relative;}
.ms-product-card__media,li.product a.woocommerce-LoopProduct-link img,li.product img{
  width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--ms-bg-muted);margin:0 0 14px;
}
.ms-product-card__media{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--ms-bg-muted);margin-bottom:14px;display:block;}
.ms-product-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;margin:0;transition:opacity var(--ms-transition);}
.ms-product-card__media img.ms-img-alt{opacity:0;}
.ms-product-card__media:hover img.ms-img-main{opacity:0;}
.ms-product-card__media:hover img.ms-img-alt{opacity:1;}
li.product .woocommerce-loop-product__title,.ms-product-card__title{
  font-size:13px!important;font-weight:300;letter-spacing:.5px;text-transform:none;padding:0!important;margin:0 0 6px;color:var(--ms-black);
}
li.product .price,.ms-product-card__price{
  font-size:13px!important;color:var(--ms-black)!important;font-weight:400;letter-spacing:.5px;margin:0;
}
li.product .price del{color:var(--ms-grey-light)!important;font-weight:300;margin-right:8px;}
li.product .price ins{text-decoration:none;}

/* Kill clutter on cards */
li.product .star-rating,
li.product .woocommerce-product-rating,
li.product .button.add_to_cart_button,
li.product .added_to_cart,
li.product .onsale,
li.product .yith-wcwl-add-to-wishlist,
li.product .compare-button,
li.product .woodmart-buttons,
.woocommerce span.onsale{display:none!important;}

/* ============================================================
   8. SHOP / ARCHIVE
   ============================================================ */
.woocommerce .products ul,.woocommerce ul.products{
  display:grid!important;grid-template-columns:repeat(4,1fr);gap:6px;margin:0;
}
/* Full-bleed shop: product grid flush to the screen edges ("mentok").
   The wrapper drops its side gutter; title + filter bar keep it (set on their own rules). */
.ms-woo-wrap{padding-left:0;padding-right:0;}
/* WooCommerce adds ::before/::after clearfix that become stray grid items — kill them */
.woocommerce ul.products::before,.woocommerce ul.products::after,
.ms-carousel__track::before,.ms-carousel__track::after{content:none!important;display:none!important;}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto!important;margin:0!important;float:none!important;}
.ms-shop-head{text-align:center;padding:clamp(40px,6vw,80px) var(--ms-gutter) 30px;}
.ms-shop-head h1{text-transform:uppercase;letter-spacing:4px;font-size:clamp(24px,3vw,40px);}
.woocommerce-result-count,.woocommerce-ordering{margin-bottom:24px;}
.woocommerce nav.woocommerce-pagination{text-align:center;margin-top:40px;}

/* Hide sidebar on shop */
.woocommerce-page #secondary,.woocommerce #sidebar{display:none;}

/* Filter bar */
.ms-shop-filters{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
  border-bottom:1px solid var(--ms-border);
  padding:9px var(--ms-gutter);margin-bottom:26px;
}
.ms-shop-filters__left,.ms-shop-filters__right{display:flex;align-items:center;}
.ms-shop-filters__left{gap:26px;}
.ms-shop-filters__right{gap:26px;}
/* Uniform toolbar type — same size/metrics so FILTERS + SORT BY line up exactly */
.ms-shop-cat,.ms-filter__toggle,.ms-shop-filters__right select{
  font-family:inherit;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;
  line-height:1;color:var(--ms-black);
}
.ms-filter{position:relative;display:flex;align-items:center;}
.ms-filter__toggle{background:none;border:none;padding:0;cursor:pointer;}
.ms-filter__panel{
  position:absolute;top:calc(100% + 9px);left:0;background:var(--ms-white);border:1px solid var(--ms-border);
  padding:16px 20px;min-width:160px;display:none;z-index:50;flex-direction:column;gap:6px;
}
.ms-filter__panel--right{left:auto;right:0;min-width:200px;}
.ms-filter:hover .ms-filter__panel{display:flex;}
.ms-filter__panel a{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ms-grey);}
.ms-filter__panel a:hover{color:var(--ms-black);}
.ms-filter__group-label{font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ms-black);margin-top:6px;}
.ms-filter__group-label:first-child{margin-top:0;}
.ms-filter__group{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:6px;}
/* Sort dropdown: strip native chrome, add a matching chevron, align to FILTERS */
.ms-filter--sort .woocommerce-ordering{margin:0;display:flex;align-items:center;}
.ms-shop-filters__right select{
  border:none;background:transparent;cursor:pointer;outline:none;
  padding:0 16px 0 0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;
}
.ms-filter--sort::after{
  content:"";position:absolute;right:1px;top:50%;width:6px;height:6px;
  border-right:1px solid var(--ms-black);border-bottom:1px solid var(--ms-black);
  transform:translateY(-65%) rotate(45deg);pointer-events:none;
}
.ms-shop-head__desc{padding:0 var(--ms-gutter);margin-bottom:30px;color:var(--ms-grey);font-size:14px;}
.ms-loadmore-wrap{text-align:center;margin-top:48px;}
.ms-loadmore.is-loading{opacity:.5;pointer-events:none;}
.woocommerce nav.woocommerce-pagination{display:none;} /* replaced by Load More */

/* Accordion (single product) */
.ms-accordion{border-top:1px solid var(--ms-border);margin-top:36px;}
.ms-accordion__item{border-bottom:1px solid var(--ms-border);}
.ms-accordion__head{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  background:none;border:none;padding:20px 0;text-transform:uppercase;letter-spacing:2px;font-size:12px;text-align:left;
}
.ms-accordion__icon{position:relative;width:12px;height:12px;flex:0 0 auto;}
.ms-accordion__icon::before,.ms-accordion__icon::after{content:"";position:absolute;background:var(--ms-black);transition:transform var(--ms-transition);}
.ms-accordion__icon::before{top:5px;left:0;width:12px;height:1px;}
.ms-accordion__icon::after{top:0;left:5px;width:1px;height:12px;}
.ms-accordion__item.is-open .ms-accordion__icon::after{transform:scaleY(0);}
.ms-accordion__body{max-height:0;overflow:hidden;transition:max-height var(--ms-transition);}
.ms-accordion__item.is-open .ms-accordion__body{max-height:600px;}
.ms-accordion__inner{padding:0 0 24px;font-size:14px;color:#333;line-height:1.8;}

/* Size buttons (variation swatches) */
.ms-size-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 4px;}
.ms-size-btn{
  min-width:48px;height:44px;padding:0 12px;background:var(--ms-white);
  border:1px solid var(--ms-border-dark);text-transform:uppercase;letter-spacing:1px;font-size:12px;
  transition:all var(--ms-transition);
}
.ms-size-btn:hover{background:#f2f2f2;}
.ms-size-btn.is-active{background:var(--ms-black);color:var(--ms-white);}
.ms-size-btn.is-disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed;}
.single-product .variations label{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:var(--ms-grey);}
.single-product .reset_variations{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ms-grey);}
.ms-empty{text-align:center;padding:60px 0;letter-spacing:2px;text-transform:uppercase;font-size:13px;color:var(--ms-grey);}

/* Breadcrumb muted */
.woocommerce .woocommerce-breadcrumb{
  font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ms-grey-light);
  text-align:center;padding:18px 0;margin:0;
}

/* ============================================================
   9. SINGLE PRODUCT
   ============================================================ */
/* Full-bleed: gallery touches the top & left edges; padding lives on the summary only. */
/* minmax(0,1fr) + min-width:0: item grid default min-width:auto, jadi gambar galeri
   memaksa kolom selebar ukuran asli gambar dan halaman melebar di mobile. */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;max-width:none;margin:0;padding:0;}
.single-product div.product > *{min-width:0;}
.single-product div.product .woocommerce-product-gallery{width:100%!important;margin:0;float:none!important;opacity:1!important;}
/* DISSH-style: show every image at once in a 2-column grid (no slider/thumbs) */
/* Force-reveal: without the slider script Woo may leave the gallery at opacity:0 */
.single-product .woocommerce-product-gallery{opacity:1!important;}
.single-product .woocommerce-product-gallery__wrapper{margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:2px;}
/* Override Woo core's non-slider fallback that shrinks images #2+ to width:25% + float */
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image:nth-child(n+2){width:auto!important;float:none!important;display:block!important;margin:0!important;}
.single-product .woocommerce-product-gallery__image img{width:100%!important;height:auto;display:block;}
/* Multi-image grid: uniform 2:3 boxes so every cell aligns (DISSH-style) */
.single-product .woocommerce-product-gallery__image:not(:only-child){aspect-ratio:2/3;overflow:hidden;}
.single-product .woocommerce-product-gallery__image:not(:only-child) > a{display:block;height:100%;}
.single-product .woocommerce-product-gallery__image:not(:only-child) img{height:100%!important;object-fit:cover;object-position:center top;}
/* A single-image product still fills the column nicely */
.single-product .woocommerce-product-gallery__wrapper:has(.woocommerce-product-gallery__image:only-child){grid-template-columns:1fr;}
/* Hide leftover slider thumbnails/controls if the plugin still prints them */
.single-product .flex-control-thumbs,.single-product .woocommerce-product-gallery__trigger{display:none!important;}
.single-product .woocommerce-product-gallery__image{cursor:zoom-in;}

/* DISSH-style fullscreen lightbox (custom; PhotoSwipe disabled) */
.ms-lightbox{position:fixed;inset:0;z-index:2000;background:var(--ms-white);display:none;}
.ms-lightbox.is-open{display:flex;}
.ms-lightbox__rail{flex:0 0 104px;width:104px;overflow-y:auto;padding:20px 14px;display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--ms-border);}
.ms-lightbox__rail::-webkit-scrollbar{width:0;}
.ms-lightbox__thumb{padding:0;border:1px solid transparent;background:none;cursor:pointer;line-height:0;transition:border-color .2s;}
.ms-lightbox__thumb.is-active{border-color:var(--ms-black);}
.ms-lightbox__thumb img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;}
.ms-lightbox__stage{flex:1;overflow-y:auto;scroll-behavior:smooth;}
/* DISSH-style: each image fills the full stage width; scroll vertically through them */
.ms-lightbox__img{display:block;padding:0;}
.ms-lightbox__img img{width:100%;max-width:100%;height:auto;display:block;}
.ms-lightbox__close{position:fixed;top:16px;right:26px;z-index:2;background:none;border:0;font-size:34px;line-height:1;cursor:pointer;color:var(--ms-black);padding:4px;}
.ms-lightbox__close:hover{opacity:.6;}
@media (max-width:700px){
  .ms-lightbox__rail{display:none;}
}
.single-product div.product .summary{margin:0!important;width:auto!important;float:none!important;position:sticky;top:calc(var(--ms-header-h) + 20px);align-self:start;padding:clamp(30px,4vw,60px) var(--ms-gutter);}
.single-product .product_title{text-transform:uppercase;letter-spacing:2px;font-size:clamp(20px,2.5vw,30px);margin-bottom:.4em;}
.single-product div.product p.price,.single-product div.product span.price{font-size:18px!important;color:var(--ms-black)!important;margin-bottom:.3em;}
/* Small grey caption under the price (DISSH "…at checkout") */
.ms-price-note{font-size:12px;color:var(--ms-grey-light);letter-spacing:.4px;margin:0 0 2em;}
/* DISSH-clean summary: no qty box, no in-stock counter (cart drawer handles qty) */
.single-product form.cart .quantity{display:none!important;}
.single-product p.stock.in-stock{display:none!important;}
.single-product .single_add_to_cart_button{
  width:100%;background:var(--ms-black)!important;color:#fff!important;border:1px solid var(--ms-black)!important;
  text-transform:uppercase;letter-spacing:3px;font-size:13px;padding:16px!important;border-radius:0!important;transition:all var(--ms-transition);float:none!important;
}
.single-product .single_add_to_cart_button:hover{background:transparent!important;color:var(--ms-black)!important;}
.single-product form.cart.is-adding .single_add_to_cart_button{opacity:.55;pointer-events:none;}
.single-product .variations td{padding:8px 0;}
.single-product table.variations{border:none;}
/* size as square buttons handled by variation swatches plugin if present */
.single-product .related.products,.single-product .up-sells{max-width:none;margin:0;padding:clamp(40px,6vw,80px) var(--ms-gutter);text-align:left;}
.single-product .related.products > h2,.single-product .up-sells > h2{text-align:left;text-transform:none;letter-spacing:1px;font-size:clamp(20px,2vw,26px);font-weight:300;margin-bottom:1.2em;}

/* "Style It With" thumbnail strip inside the summary column */
.ms-siw-strip{margin:30px 0 6px;}
.ms-siw-strip__label{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ms-grey);margin-bottom:12px;}
.ms-siw-strip__track{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;}
.ms-siw-strip__track::-webkit-scrollbar{height:3px;}
.ms-siw-strip__track::-webkit-scrollbar-thumb{background:var(--ms-border);}
.ms-siw-strip__item{flex:0 0 auto;width:86px;line-height:0;}
.ms-siw-strip__item img{width:86px;height:115px;object-fit:cover;display:block;margin:0;transition:opacity .2s;}
.ms-siw-strip__item:hover img{opacity:.75;}

/* ============================================================
   10. CART DRAWER (mini cart)
   ============================================================ */
.ms-cart-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(92vw,420px);
  background:var(--ms-white);z-index:1200;transform:translateX(100%);
  transition:transform var(--ms-transition);display:flex;flex-direction:column;
}
.ms-cart-drawer.is-open{transform:translateX(0);}
.ms-cart-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid var(--ms-border);}
.ms-cart-drawer__title{text-transform:uppercase;letter-spacing:3px;font-size:15px;margin:0;}
.ms-cart-drawer__body{flex:1;overflow-y:auto;padding:0;display:flex;flex-direction:column;}
.ms-cart-drawer__body .widget_shopping_cart_content{display:flex;flex-direction:column;flex:1;min-height:100%;}
.ms-cart-drawer.is-loading{pointer-events:none;}
.ms-cart-drawer.is-loading .ms-cart-drawer__body{opacity:.5;transition:opacity .2s;}

/* Empty state */
.ms-cart-empty{text-align:center;padding:80px 26px;color:var(--ms-grey);margin:auto 0;}
.ms-cart-empty p{text-transform:uppercase;letter-spacing:2px;font-size:13px;margin-bottom:24px;}

/* Free-shipping progress bar */
.ms-ship-bar{padding:18px 26px;border-bottom:1px solid var(--ms-border);background:var(--ms-bg-muted);}
.ms-ship-bar__text{margin:0 0 10px;font-size:12px;letter-spacing:.6px;text-align:center;color:var(--ms-black);}
.ms-ship-bar__text .amount{font-weight:500;}
.ms-ship-bar__track{height:3px;background:var(--ms-border);border-radius:2px;overflow:hidden;}
.ms-ship-bar__fill{display:block;height:100%;background:var(--ms-black);border-radius:2px;transition:width .5s cubic-bezier(.22,.61,.36,1);}
.ms-ship-bar.is-unlocked .ms-ship-bar__fill{background:#2e7d32;}
.ms-ship-bar.is-unlocked .ms-ship-bar__text{color:#2e7d32;}

/* Line items */
.ms-cart-items{list-style:none;margin:0;padding:0 26px;flex:1;}
.ms-cart-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--ms-border);}
.ms-cart-item__media{flex:0 0 74px;}
.ms-cart-item__media img{width:74px!important;height:96px;object-fit:cover;display:block;margin:0!important;}
.ms-cart-item__info{flex:1;display:flex;flex-direction:column;min-width:0;}
.ms-cart-item__top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.ms-cart-item__name{font-size:13px;letter-spacing:.5px;line-height:1.4;}
.ms-cart-item__name a{color:var(--ms-black);}
.ms-cart-item__remove{background:none;border:0;padding:2px;cursor:pointer;color:var(--ms-grey-light);flex-shrink:0;line-height:0;transition:color .2s;}
.ms-cart-item__remove:hover{color:var(--ms-black);}
.ms-cart-item__remove svg{width:14px;height:14px;}
.ms-cart-item__meta{font-size:11px;letter-spacing:.5px;color:var(--ms-grey);margin-top:4px;}
.ms-cart-item__meta dl,.ms-cart-item__meta p{margin:0;}
.ms-cart-item__meta dt,.ms-cart-item__meta dd{display:inline;margin:0;}
.ms-cart-item__bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;}
.ms-cart-item__price{font-size:13px;letter-spacing:.5px;}

/* Quantity stepper */
.ms-qty{display:inline-flex;align-items:center;border:1px solid var(--ms-border);}
.ms-qty__btn{width:30px;height:30px;background:none;border:0;cursor:pointer;font-size:15px;line-height:1;color:var(--ms-black);display:flex;align-items:center;justify-content:center;transition:background .2s;}
.ms-qty__btn:hover{background:var(--ms-bg-muted);}
.ms-qty__val{min-width:30px;text-align:center;font-size:13px;}

/* Footer */
.ms-cart-foot{padding:22px 26px calc(22px + env(safe-area-inset-bottom));border-top:1px solid var(--ms-border);}
.ms-cart-foot__subtotal{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:2px;font-size:13px;font-weight:400;}
.ms-cart-foot__note{margin:6px 0 16px;font-size:11px;letter-spacing:.5px;color:var(--ms-grey);text-transform:none;}
.ms-cart-foot__buttons{display:flex;flex-direction:column;gap:10px;}
.ms-cart-foot__buttons a{width:100%;text-align:center;}
.ms-afterpay{margin:16px 0 0;font-size:11px;letter-spacing:.4px;color:var(--ms-grey);text-align:center;}
.ms-afterpay strong{font-weight:500;color:var(--ms-black);}
.ms-afterpay__brand{font-weight:600;color:#b2fce4;background:#000;padding:1px 5px;border-radius:3px;}

/* Bag count in the drawer title */
.ms-cart-drawer__count{font-size:11px;letter-spacing:0;margin-left:4px;top:-.6em;color:var(--ms-grey);}

/* "Complete The Look" cross-sell strip inside the cart drawer */
.ms-ctl{padding:20px 26px 6px;border-top:1px solid var(--ms-border);}
.ms-ctl__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.ms-ctl__title{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ms-black);}
.ms-ctl__nav{display:flex;gap:6px;}
.ms-ctl__arrow{width:22px;height:22px;border:1px solid var(--ms-border);background:none;cursor:pointer;font-size:14px;line-height:1;color:var(--ms-black);display:flex;align-items:center;justify-content:center;}
.ms-ctl__arrow:hover{border-color:var(--ms-black);}
.ms-ctl__track{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scroll-behavior:smooth;}
.ms-ctl__track::-webkit-scrollbar{height:3px;}
.ms-ctl__track::-webkit-scrollbar-thumb{background:var(--ms-border);}
.ms-ctl__card{flex:0 0 auto;width:180px;display:flex;gap:10px;}
.ms-ctl__media{flex:0 0 62px;line-height:0;}
.ms-ctl__media img{width:62px;height:80px;object-fit:cover;display:block;margin:0;}
.ms-ctl__info{flex:1;min-width:0;display:flex;flex-direction:column;}
.ms-ctl__name{font-size:12px;line-height:1.35;letter-spacing:.3px;color:var(--ms-black);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ms-ctl__price{font-size:11px;color:var(--ms-grey);margin:4px 0 8px;}
.ms-ctl__actions{margin-top:auto;display:flex;flex-direction:column;gap:6px;}
.ms-ctl__size{font-family:inherit;font-size:11px;padding:5px 6px;border:1px solid var(--ms-border);background:#fff;cursor:pointer;}
.ms-ctl__size.is-invalid{border-color:#c0392b;}
.ms-ctl__add{background:none;border:0;padding:0;text-align:left;font-size:11px;letter-spacing:.5px;text-transform:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:var(--ms-black);}
.ms-ctl__add:hover{opacity:.6;}

/* ============================================================
   11. FOOTER
   ============================================================ */
.ms-footer{border-top:1px solid var(--ms-border);background:var(--ms-white);padding:clamp(48px,6vw,80px) 0 30px;}
.ms-footer__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,50px);margin-bottom:48px;}
.ms-footer__col h4{text-transform:uppercase;letter-spacing:2px;font-size:12px;margin-bottom:18px;}
.ms-footer__col a{display:block;font-size:13px;color:var(--ms-grey);padding:5px 0;letter-spacing:.5px;}
/* Item dari wp_nav_menu (Appearance → Menus) tampil polos, tanpa bullet/indent */
.ms-footer__col li{list-style:none;margin:0;padding:0;}
.ms-footer__socials{display:flex;gap:16px;}
.ms-footer__socials a{padding:0;}
.ms-footer__socials svg{width:20px;height:20px;}
/* Alamat tempat usaha & kontak CS di footer (butir 10 & 12 ketentuan BCA). */
.ms-footer__merchant{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--ms-border);padding-top:24px;margin-bottom:20px;font-size:11px;letter-spacing:1px;line-height:1.7;color:var(--ms-grey-light);}
.ms-footer__merchant a{color:inherit;text-decoration:underline;}
.ms-footer__merchant a:hover{color:var(--ms-black);}
.ms-footer__merchant + .ms-footer__bottom{border-top:0;padding-top:0;}
/* Kartu alamat outlet di halaman Contact Us. */
.ms-contact__visit{margin-top:32px;}

.ms-footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;border-top:1px solid var(--ms-border);padding-top:24px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ms-grey-light);}

/* ============================================================
   12. RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .ms-nav__list .sub-menu{grid-template-columns:repeat(3,1fr);}
  .woocommerce .products ul,.woocommerce ul.products{grid-template-columns:repeat(3,1fr)!important;}
}
@media (max-width:900px){
  .ms-nav{display:none;}
  .ms-burger{display:inline-flex;}
  .ms-header__search{display:none;}
  .ms-icon-btn.ms-search-mobile{display:inline-flex;}
  .ms-header__bar{grid-template-columns:1fr auto 1fr;padding:16px 16px;}
  .ms-header__right{gap:16px;}
  .ms-header__logo a{font-size:17px;letter-spacing:3px;}
  .ms-header__logo img{max-height:16px;}
  .single-product div.product{grid-template-columns:minmax(0,1fr);}
  .single-product div.product .summary{position:static;}
  .ms-commit__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:700px){
  .ms-tiles__grid,.ms-stores__grid{grid-template-columns:1fr;}
  .ms-stores__grid--4{grid-template-columns:repeat(2,1fr);}
  .ms-muses__grid{grid-auto-columns:calc((100% - 6px) / 2);}
  .ms-shop-modal{padding:0;}
  .ms-shop-modal__panel{grid-template-columns:1fr;max-height:100%;height:100%;overflow-y:auto;padding:14px;}
  .ms-shop-modal__media{max-height:60vh;aspect-ratio:auto;}
  .ms-shop-modal__products{gap:16px 12px;}
  .ms-carousel__track{grid-template-columns:repeat(2,1fr);}
  .woocommerce .products ul,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important;}
  .ms-footer__grid{grid-template-columns:repeat(2,1fr);}
  /* HP portrait: video 16:9 di-cover, yang terpotong sisi kiri/kanan (model tepi), bukan kepala */
  .ms-hero{height:70vh;}
  .single-product .woocommerce-product-gallery__wrapper{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:480px){
  .ms-commit__grid{grid-template-columns:1fr;}
  .ms-header__logo a{font-size:15px;letter-spacing:2px;}
  .ms-header__logo img{max-height:14px;}
}

/* ============================================================
   CHECKOUT — DISSH-style minimal layout
   ============================================================ */

/* Page canvas */
body.woocommerce-checkout{background:var(--ms-bg-muted);}
body.woocommerce-checkout .ms-container{max-width:1240px;margin:0 auto;padding:32px var(--ms-gutter) 80px!important;}
body.woocommerce-checkout .ms-page{max-width:none;}

/* --- Minimal checkout header --- */
.ms-checkout-header{background:var(--ms-bg-muted);border-bottom:1px solid var(--ms-border);}
.ms-checkout-header__inner{position:relative;display:flex;align-items:center;justify-content:center;max-width:1240px;margin:0 auto;padding:22px var(--ms-gutter);min-height:70px;}
.ms-checkout-header__logo{display:inline-flex;align-items:center;}
.ms-checkout-header__logo img{max-height:26px;width:auto;}
.ms-checkout-header__bag{position:absolute;right:var(--ms-gutter);top:50%;transform:translateY(-50%);display:inline-flex;line-height:0;}
.ms-checkout-header__bag svg{width:22px;height:22px;}

/* --- Minimal checkout footer --- */
.ms-checkout-footer{border-top:1px solid var(--ms-border);margin-top:40px;}
.ms-checkout-footer__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;max-width:1240px;margin:0 auto;padding:26px var(--ms-gutter);}
.ms-checkout-footer__copy{font-size:12px;letter-spacing:1px;color:var(--ms-grey-light);}
.ms-checkout-footer__links{display:flex;flex-wrap:wrap;gap:22px;}
.ms-checkout-footer__links a{font-size:12px;letter-spacing:.5px;color:var(--ms-grey);}
.ms-checkout-footer__links a:hover{color:var(--ms-black);opacity:1;}

/* --- Two-column block layout + vertical divider --- */
.woocommerce-checkout .wc-block-checkout__main{padding-right:clamp(24px,4vw,64px);}
.woocommerce-checkout .wc-block-checkout__sidebar{border-left:1px solid var(--ms-border);padding-left:clamp(24px,4vw,64px);background:transparent;}

/* Step / section titles */
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-title{font-family:var(--ms-font);font-weight:500;font-size:15px;letter-spacing:.5px;color:var(--ms-black);}
.woocommerce-checkout .wc-block-components-checkout-step__description{color:var(--ms-grey);}

/* Inputs + floating labels */
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-text-input .input-text,
.woocommerce-checkout .wc-block-components-combobox input,
.woocommerce-checkout .wc-block-components-select select,
.woocommerce-checkout .wc-block-components-address-form select{
  border:1px solid #d8d2c8;border-radius:2px;background:#fff;color:var(--ms-black);
}
.woocommerce-checkout .wc-block-components-text-input.is-active input,
.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox.is-active input,
.woocommerce-checkout .wc-block-components-select select:focus{
  border-color:var(--ms-black);box-shadow:none;outline:none;
}
.woocommerce-checkout .wc-block-components-text-input label{color:var(--ms-grey);}

/* Checkboxes accent */
.woocommerce-checkout .wc-block-components-checkbox input:checked{background:var(--ms-black);border-color:var(--ms-black);}

/* --- Order summary --- */
.woocommerce-checkout .wc-block-components-order-summary-item__image img{
  border:1px solid var(--ms-border);border-radius:2px;
}
/* Dark round quantity badge (DISSH) */
.woocommerce-checkout .wc-block-components-order-summary-item__quantity{
  background:var(--ms-black)!important;color:#fff!important;border:0!important;
  border-radius:50%!important;min-width:20px;height:20px;line-height:20px;font-size:11px;
}
.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name{
  text-transform:uppercase;letter-spacing:.6px;font-size:12.5px;font-weight:400;
}
.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata{
  color:var(--ms-grey);font-size:12px;
}

/* Coupon / discount field */
.woocommerce-checkout .wc-block-components-totals-coupon__input input{border:1px solid #d8d2c8;border-radius:2px;background:#fff;}
.woocommerce-checkout .wc-block-components-totals-coupon__button,
.woocommerce-checkout .wc-block-components-button.wc-block-components-totals-coupon__button{
  color:var(--ms-black);letter-spacing:.5px;
}

/* Totals rows */
.woocommerce-checkout .wc-block-components-totals-item__label{color:var(--ms-black);}
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-weight:500;}

/* Place-order button */
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-checkout .wc-block-components-button.contained{
  background:var(--ms-black);color:#fff;border-radius:2px;
  text-transform:uppercase;letter-spacing:2px;font-size:13px;font-weight:400;
  min-height:52px;transition:opacity var(--ms-transition);
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wc-block-components-button.contained:hover{opacity:.82;}

/* Stack on small screens */
@media (max-width:781px){
  .woocommerce-checkout .wc-block-checkout__main{padding-right:0;}
  .woocommerce-checkout .wc-block-checkout__sidebar{border-left:0;border-top:1px solid var(--ms-border);padding-left:0;margin-top:28px;padding-top:28px;}
}

/* ============================================================
   CONTACT PAGE (page-contact.php) — DISSH-style
   ============================================================ */
.ms-contact{padding:clamp(48px,7vw,110px) var(--ms-gutter);max-width:1100px;margin:0 auto;}
.ms-contact__intro{text-align:center;max-width:640px;margin:0 auto clamp(40px,6vw,72px);}
.ms-eyebrow{font-size:11px;letter-spacing:var(--ms-track-wide);text-transform:uppercase;color:var(--ms-grey);margin:0 0 14px;}
.ms-contact__title{font-size:clamp(30px,5vw,52px);font-weight:300;letter-spacing:var(--ms-track-mid);margin:0 0 20px;text-transform:uppercase;}
.ms-contact__lead{color:var(--ms-grey);line-height:1.7;font-size:15px;}
.ms-contact__lead a{color:var(--ms-black);border-bottom:1px solid var(--ms-black);padding-bottom:1px;}

.ms-contact__methods{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ms-border);border:1px solid var(--ms-border);margin-bottom:clamp(56px,8vw,96px);}
.ms-contact__card{background:var(--ms-white);padding:clamp(28px,4vw,44px) clamp(22px,3vw,32px);display:flex;flex-direction:column;text-align:center;align-items:center;}
.ms-contact__card h2{font-size:14px;letter-spacing:var(--ms-track-wide);text-transform:uppercase;font-weight:500;margin:0 0 16px;}
.ms-contact__hours{color:var(--ms-grey);line-height:1.7;font-size:14px;margin:0 0 26px;flex:1 1 auto;}
.ms-contact__muted{color:var(--ms-grey-light);font-size:12px;}
.ms-contact__card .ms-btn{width:100%;max-width:230px;}

.ms-contact__formwrap{max-width:760px;margin:0 auto;}
.ms-contact__formhead{text-align:center;margin-bottom:38px;}
.ms-contact__formhead h2{font-size:clamp(22px,3.5vw,32px);font-weight:300;text-transform:uppercase;letter-spacing:var(--ms-track-mid);margin:0 0 12px;}
.ms-contact__formhead p{color:var(--ms-grey);font-size:14px;}
.ms-contact__notice{text-align:center;padding:16px 20px;font-size:14px;letter-spacing:.3px;margin:0 0 28px;border:1px solid var(--ms-border);}
.ms-contact__notice--ok{background:var(--ms-bg-muted);border-color:var(--ms-border-dark);}
.ms-contact__notice--err{background:#fbecea;border-color:#d8a29a;color:#8a2b1c;}

.ms-contact__form{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;}
.ms-field{display:flex;flex-direction:column;}
.ms-field--full{grid-column:1 / -1;}
.ms-field label{font-size:11px;letter-spacing:var(--ms-track-wide);text-transform:uppercase;color:var(--ms-grey);margin-bottom:8px;}
.ms-field input,.ms-field select,.ms-field textarea{
  font-family:var(--ms-font);font-size:15px;color:var(--ms-black);
  border:none;border-bottom:1px solid var(--ms-border-dark);
  background:transparent;padding:8px 2px;border-radius:0;outline:none;
  transition:border-color var(--ms-transition);
}
.ms-field textarea{resize:vertical;}
.ms-field input:focus,.ms-field select:focus,.ms-field textarea:focus{border-bottom-color:var(--ms-black);}
.ms-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23111' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:24px;}
.ms-field--full .ms-btn{justify-self:start;width:auto;min-width:220px;margin-top:6px;}
.ms-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

@media(max-width:820px){
  .ms-contact__methods{grid-template-columns:1fr;}
  .ms-contact__form{grid-template-columns:1fr;}
  .ms-field--half{grid-column:1 / -1;}
}

/* ============================================================
   FAQ PAGE (page-faq.php) — DISSH-style
   ============================================================ */
.ms-faq{padding:clamp(48px,7vw,110px) var(--ms-gutter);max-width:820px;margin:0 auto;}
.ms-faq__intro{text-align:center;margin-bottom:clamp(36px,5vw,56px);}
.ms-faq__title{font-size:clamp(28px,4.5vw,46px);font-weight:300;letter-spacing:var(--ms-track-mid);text-transform:uppercase;margin:0 0 16px;}
.ms-faq__lead{color:var(--ms-grey);font-size:15px;line-height:1.7;}
.ms-faq__lead a{color:var(--ms-black);border-bottom:1px solid var(--ms-black);}
.ms-faq__search{margin:26px auto 0;max-width:460px;}
.ms-faq__search input{width:100%;font-family:var(--ms-font);font-size:15px;padding:14px 18px;border:1px solid var(--ms-border-dark);background:var(--ms-white);border-radius:0;outline:none;transition:box-shadow var(--ms-transition);}
.ms-faq__search input:focus{box-shadow:0 0 0 1px var(--ms-black);}
.ms-faq__noresults{margin-top:22px;color:var(--ms-grey);font-size:14px;}
.ms-faq__noresults a{color:var(--ms-black);border-bottom:1px solid var(--ms-black);}
.ms-faq__group{margin-bottom:clamp(30px,4vw,48px);}
.ms-faq__group[hidden]{display:none;}
.ms-faq__cat{font-size:12px;letter-spacing:var(--ms-track-wide);text-transform:uppercase;color:var(--ms-grey);font-weight:500;margin:0 0 8px;padding-bottom:14px;}
.ms-faq .ms-accordion__item[hidden]{display:none;}
.ms-faq__foot{text-align:center;margin-top:clamp(40px,6vw,72px);padding-top:clamp(40px,6vw,64px);border-top:1px solid var(--ms-border);}
.ms-faq__foot h2{font-size:clamp(20px,3vw,28px);font-weight:300;text-transform:uppercase;letter-spacing:var(--ms-track-mid);margin:0 0 10px;}
.ms-faq__foot p{color:var(--ms-grey);font-size:14px;margin:0 0 24px;}

/* ============================================================
   SHIPPING PAGE (page-shipping.php) — DISSH-style
   ============================================================ */
.ms-shipping{padding:clamp(48px,7vw,110px) var(--ms-gutter);max-width:900px;margin:0 auto;}
.ms-shipping__intro{text-align:center;max-width:640px;margin:0 auto clamp(40px,5vw,64px);}
.ms-shipping__title{font-size:clamp(28px,4.5vw,46px);font-weight:300;letter-spacing:var(--ms-track-mid);text-transform:uppercase;margin:0 0 18px;}
.ms-shipping__lead{color:var(--ms-grey);font-size:15px;line-height:1.7;}
.ms-shipping__block{margin-bottom:clamp(34px,4.5vw,52px);}
.ms-shipping__block h2{font-size:14px;letter-spacing:var(--ms-track-wide);text-transform:uppercase;font-weight:500;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--ms-border);}
.ms-shipping__block p{color:var(--ms-grey);font-size:15px;line-height:1.75;margin:0;}
.ms-shipping__tablewrap{overflow-x:auto;}
.ms-shipping__table{width:100%;border-collapse:collapse;font-size:14px;}
.ms-shipping__table th{text-align:left;font-weight:500;text-transform:uppercase;letter-spacing:1px;font-size:11px;color:var(--ms-grey);padding:12px 14px;border-bottom:1px solid var(--ms-border-dark);white-space:nowrap;}
.ms-shipping__table td{padding:16px 14px;border-bottom:1px solid var(--ms-border);color:var(--ms-black);vertical-align:top;}
.ms-shipping__table tr:last-child td{border-bottom:none;}
.ms-shipping__note{margin-top:16px!important;font-size:13px!important;color:var(--ms-grey-light)!important;}

@media(max-width:620px){
  .ms-shipping__table thead{position:absolute;left:-9999px;}
  .ms-shipping__table tr{display:block;border-bottom:1px solid var(--ms-border-dark);padding:10px 0;}
  .ms-shipping__table td{display:flex;justify-content:space-between;gap:16px;border:none;padding:7px 2px;text-align:right;}
  .ms-shipping__table td::before{content:attr(data-th);text-transform:uppercase;letter-spacing:1px;font-size:10px;color:var(--ms-grey);text-align:left;flex:0 0 auto;align-self:center;}
}

/* ============================================================
   CONTENT-PAGE BANNER (morningsol_page_banner) — DISSH-style hero
   ============================================================ */
.ms-pagehero{
  position:relative;overflow:hidden;
  min-height:clamp(240px,38vw,460px);
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:var(--ms-bg-muted) center/cover no-repeat;
  color:var(--ms-white);
}
.ms-pagehero__video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;
}
.ms-pagehero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:rgba(0,0,0,.28);
}
.ms-pagehero__inner{position:relative;z-index:2;padding:0 var(--ms-gutter);}
.ms-pagehero__eyebrow{
  font-size:11px;letter-spacing:var(--ms-track-wide);text-transform:uppercase;
  margin:0 0 14px;opacity:.9;
}
.ms-pagehero__title{
  font-size:clamp(30px,5vw,58px);font-weight:300;
  letter-spacing:var(--ms-track-mid);text-transform:uppercase;margin:0;color:var(--ms-white);
}
/* When no media resolves, fall back to a clean light band with dark text. */
.ms-pagehero--plain{background-color:var(--ms-bg-muted);color:var(--ms-black);min-height:clamp(180px,26vw,320px);}
.ms-pagehero--plain::after{display:none;}
.ms-pagehero--plain .ms-pagehero__eyebrow{color:var(--ms-grey);opacity:1;}
.ms-pagehero--plain .ms-pagehero__title{color:var(--ms-black);}

/* ============================================================
   CURRENCY SWITCHER (Woo Multi Currency, theme-styled)
   Rendered by morningsol_currency_switcher() — only when 2+
   currencies are active.
   ============================================================ */
.ms-currency .woo-multi-currency{margin:0;}
/* Header listbox: quiet text-like select, e.g. "IDR ▾" */
.ms-header__right .ms-currency select{
  border:0;background:transparent;cursor:pointer;
  font-size:12px;letter-spacing:1px;text-transform:uppercase;
  color:var(--ms-black);padding:4px 2px;
}
.ms-header__right .ms-currency select:focus{outline:1px solid var(--ms-border);}
/* Inline text links (footer + mobile drawer) */
.ms-currency .wmc-currency{display:inline-block;margin-right:14px;}
.ms-currency .wmc-currency a{
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ms-grey-light);text-decoration:none;padding:0;
}
.ms-currency .wmc-currency.wmc-active a,
.ms-currency .wmc-currency a:hover{color:var(--ms-black);}
.ms-mobile-nav .ms-currency{margin-top:24px;padding-top:16px;border-top:1px solid var(--ms-border);}
@media (max-width:900px){
  .ms-header__right .ms-currency{display:none;} /* header too tight on mobile; drawer has it */
}

/* Our Stores page (scoped ke .ms-page agar tidak menimpa section homepage) */
.ms-page .ms-stores{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;max-width:900px;margin:0 auto;text-align:center;}
.ms-page .ms-store h3{font-size:15px;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;}
.ms-page .ms-store p{font-size:14px;line-height:1.8;color:var(--ms-grey);}

/* Plain content pages (About / Careers / Sustainability) */
.ms-page{max-width:680px;margin:0 auto;}
.ms-page p{font-size:15px;line-height:1.9;color:var(--ms-grey);margin:0 0 1.4em;}
.ms-page p a{color:var(--ms-black);text-decoration:underline;}
/* Daftar (ul/ol) di halaman kebijakan ikut gaya paragraf agar font konsisten */
.ms-page ul,.ms-page ol{font-size:15px;line-height:1.9;color:var(--ms-grey);margin:0 0 1.4em;padding-left:1.4em;}
.ms-page li{margin:0 0 .3em;}
.ms-page li a{color:var(--ms-black);text-decoration:underline;}

/* YayCurrency switcher, restyled to match the theme (code-only, quiet) */
.ms-currency--yay .yay-currency-custom-select__trigger{
  border:0!important;background:transparent!important;box-shadow:none!important;
  padding:2px 0!important;min-height:0!important;
}
.ms-currency--yay .yay-currency-selected-option,
.ms-currency--yay .yay-currency-custom-option-row{
  font-size:12px!important;letter-spacing:1px;text-transform:uppercase;
  color:var(--ms-black)!important;font-family:var(--ms-font)!important;
}
.ms-currency--yay .yay-currency-arrow-icon{width:14px!important;height:14px!important;}
.ms-currency--yay .yay-currency-custom-select-options{min-width:90px!important;}
.ms-footer__bottom .ms-currency--yay .yay-currency-selected-option{color:var(--ms-grey-light)!important;}
.ms-mobile-nav .ms-currency--yay{margin-top:24px;padding-top:16px;border-top:1px solid var(--ms-border);}

/* ============================================================
   NEWSLETTER POPUP — DISSH-style card, bottom-left
   ============================================================ */
.ms-popup{
  position:fixed;left:20px;bottom:20px;z-index:1200;
  /* Kartu ringkas: ~setengah dari ukuran lama, skala ikut lebar/tinggi layar. */
  width:clamp(220px,20vw,280px);
  max-width:calc(100vw - 40px);
  opacity:0;visibility:hidden;transform:translateY(16px);
  transition:opacity .35s ease,transform .35s ease,visibility .35s;
}
.ms-popup.is-open{opacity:1;visibility:visible;transform:translateY(0);}
.ms-popup__panel{position:relative;background:#fff;box-shadow:0 8px 40px rgba(0,0,0,.18);overflow:hidden;max-height:calc(100vh - 40px);}
.ms-popup__close{
  position:absolute;top:10px;right:10px;z-index:2;
  width:30px;height:30px;border:0;border-radius:50%;
  background:rgba(255,255,255,.92);cursor:pointer;
  font-size:18px;line-height:1;color:#111;
  display:flex;align-items:center;justify-content:center;
}
/* Gambar landscape (ala DISSH) agar kartu pendek, tidak setinggi layar. */
.ms-popup__media{
  display:block;width:100%;aspect-ratio:3/2;
  max-height:24vh;
  object-fit:cover;object-position:center 20%;
}
.ms-popup__body{padding:14px 16px 16px;}
.ms-popup__title{font-size:14px;letter-spacing:1px;margin:0 0 4px;}
.ms-popup__sub{font-size:11px;color:#555;margin:0 0 10px;}
.ms-popup__form{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--ms-border-dark);padding-bottom:4px;}
.ms-popup__form input{
  flex:1;min-width:0;border:0;outline:0;background:transparent;
  font-size:12px;padding:4px 0;
}
.ms-popup__form button{
  border:0;background:transparent;cursor:pointer;
  font-size:12px;letter-spacing:1px;padding:4px 0;
}
.ms-popup__cta{display:inline-block;margin-top:4px;}
.ms-popup__msg{font-size:12px;margin:10px 0 0;min-height:1em;}
.ms-popup__msg.is-ok{color:#2e7d32;}
.ms-popup__msg.is-err{color:#c62828;}
@media (max-width:600px){
  /* Mobile: kartu ringkas ala DISSH — tanpa gambar, tidak menutupi viewport. */
  .ms-popup{left:12px;right:12px;bottom:12px;width:auto;max-height:60vh;}
  .ms-popup__media{display:none;}
  .ms-popup__panel{max-height:60vh;overflow:auto;}
  .ms-popup__body{padding:26px 22px 22px;}
  .ms-popup__title{padding-right:32px;}
}

/* ============================================================
 * OUR STORY PAGE (page-our-story.php) — DISSH editorial style
 * ============================================================ */

/* Lead paragraph — tampil besar sendiri di atas editorial sections */
.ms-story-lead-wrap{
  /* Jarak atas-bawah mengikuti .ms-story--intro di halaman induk (56px), supaya
     halaman anak tidak terasa lebih rapat ke gambar di bawahnya. */
  padding:56px 24px;
}
/* Bila masih ada isi di bawah lead, jarak bawah diserahkan ke .ms-story agar
   tidak tertumpuk dua kali. */
.ms-story-lead-wrap:has(+ .ms-story){padding-bottom:0;}
/* Lead memakai ukuran yang sama persis dengan paragraf isi (lihat
   .ms-story__inner di bawah, selektornya digabung) supaya satu halaman tidak
   punya dua ukuran teks yang nyaris sama tapi beda sedikit. Hanya jarak bawah
   yang berbeda: lead satu paragraf, jaraknya diatur .ms-story-lead-wrap. */
/* Jarak bawah paragraf sama dengan .ms-story__inner p (1.4em). Tanpa ini
   lead berakhir 21px lebih rapat ke gambar di bawahnya daripada paragraf
   isi di halaman induk, padahal keduanya terlihat sejenis. */
.ms-story-lead-inner p{margin:0 0 1.4em;}

/* Editorial text sections */
.ms-story{padding:56px 24px 80px;}
.ms-story__inner,
.ms-story-lead-inner{
  /* Kolom teks dilebarkan (dulu 720px) supaya ruang kosong kiri-kanan di layar
     lebar tidak terlalu besar; tetap di bawah intro (1100px) demi keterbacaan. */
  max-width:960px;
  margin:0 auto;
  font-size:15px;
  line-height:1.9;
  letter-spacing:.3px;
  color:#333;
}
.ms-story__inner p{margin:0 0 1.4em;}
.ms-story__inner h2{
  font-size:11px;
  font-weight:500;
  letter-spacing:2.5px;
  text-transform:uppercase;
  margin:3.5em 0 1.2em;
  color:#111;
}
.ms-story__inner h2:first-child{margin-top:0;}
.ms-story__inner a{color:inherit;text-decoration:underline;text-underline-offset:3px;}

/* Pull-quote (blockquote.ms-story-quote) */
.ms-story-quote{
  margin:3em -24px;
  padding:3em 24px;
  background:#f7f5f3;
  border:none;
}
.ms-story-quote p{
  font-size:22px;
  line-height:1.6;
  font-style:italic;
  letter-spacing:.1px;
  color:#1a1a1a;
  margin:0 0 1em !important;
  max-width:640px;
}
.ms-story-quote cite{
  display:block;
  font-size:11px;
  font-style:normal;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#888;
}

/* Blok "Media & Text" di editor = gambar kiri/kanan ala DISSH, selebar layar.
   Lebar gambar mengikuti slider "Media width" di editor (inline style
   grid-template-columns, mis. "30% auto" = gambar 30% lebar layar); bila
   slider di posisi bawaan (50) tidak ada inline style dan berlaku 50/50
   seperti DISSH. Kolom teks selalu mengisi sisa lebar (lihat di bawah). */
.ms-story{overflow-x:clip;}
.ms-story__inner .wp-block-media-text{
  display:grid;
  grid-template-columns:50% 1fr;
  align-items:start;
  width:100vw;
  margin:4.5em calc(50% - 50vw);
  background:transparent;
}
.ms-story__inner .wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%;}
.ms-story__inner .wp-block-media-text__media{grid-column:1;grid-row:1;margin:0;}
/* Teks rata dengan tepi atas gambar (DISSH: judul sejajar dengan atas foto).
   Teks mengisi kolomnya: sisi luar dapat gutter, sisi yang menghadap gambar
   dapat jarak ~6vw (DISSH: ~100px pada layar 1600px). Tanpa max-width supaya
   jarak ke gambar tidak melar di layar lebar. */
.ms-story__inner .wp-block-media-text__content{grid-column:2;grid-row:1;padding:0 var(--ms-gutter) 0 clamp(40px,6vw,120px);max-width:none;align-self:start;}
.ms-story__inner .has-media-on-the-right .wp-block-media-text__media{grid-column:2;}
.ms-story__inner .has-media-on-the-right .wp-block-media-text__content{grid-column:1;padding:0 clamp(40px,6vw,120px) 0 var(--ms-gutter);}
.ms-story__inner .wp-block-media-text__media img{
  display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
}
.ms-story__inner .wp-block-media-text__content h2{margin-top:0;}
.ms-story__inner .wp-block-media-text__content p:last-child{margin-bottom:0;}

/* Blok gambar/galeri/cover dengan "Full width" di editor = banner selebar
   layar (aturan flat: gambar menyentuh tepi), "Wide width" = selebar gutter. */
.ms-story__inner .alignfull{
  width:100vw;
  max-width:none;
  margin:4.5em calc(50% - 50vw);
}
.ms-story__inner .alignwide{
  width:calc(100vw - 2 * var(--ms-gutter));
  max-width:none;
  margin:4.5em calc(50% - 50vw + var(--ms-gutter));
}
.ms-story__inner .alignfull img,
.ms-story__inner .alignwide img{display:block;width:100%;height:auto;}
.ms-story__inner .alignfull:last-child,
.ms-story__inner .alignwide:last-child{margin-bottom:0;}
/* Galeri "Full width": foto berjajar rapat (celah 2px), rata atas-bawah.
   Dengan opsi "Crop images to fit" aktif semua foto dipotong persegi supaya
   tingginya sama; tanpa crop tinggi mengikuti foto masing-masing. Lebar kolom
   dihitung core dari variabel gap, jadi cukup set variabelnya. */
.ms-story__inner .wp-block-gallery.alignfull{--wp--style--unstable-gallery-gap:2px;gap:2px;}
.ms-story__inner .wp-block-gallery.alignfull .wp-block-image{margin:0;}
.ms-story__inner .wp-block-gallery.alignfull.is-cropped .wp-block-image{aspect-ratio:1/1;}
.ms-story__inner .wp-block-gallery.alignfull.is-cropped .wp-block-image img{width:100%;height:100%;object-fit:cover;}

/* Kartu halaman (template Editorial / Grid / Journal) — foto rapat ke tepi,
 * teks yang diberi padding. */
.ms-page-cards{padding:0 0 100px;}
.ms-story--intro{padding-bottom:56px;}
.ms-story--intro .ms-story__inner{max-width:1100px;}
.ms-page-cards__head{display:flex;justify-content:space-between;align-items:baseline;padding:0 var(--ms-gutter) 20px;}
.ms-page-cards__head h2{font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;margin:0;}
.ms-page-cards__head a{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;color:inherit;}
.ms-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 4px;}
.ms-cards--4{grid-template-columns:repeat(4,1fr);}
.ms-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.ms-card__media{display:block;width:100%;aspect-ratio:4/5;background:#e8e5e0 center/cover no-repeat;transition:opacity var(--ms-transition);}
.ms-cards--square .ms-card__media{aspect-ratio:1/1;}
.ms-card:hover .ms-card__media{opacity:.88;}
.ms-card__body{display:flex;flex-direction:column;gap:6px;padding:16px var(--ms-gutter) 0;}
.ms-card__eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ms-grey);}
.ms-card__title{font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#111;}
.ms-card__text{font-size:13px;line-height:1.6;color:#666;}
.ms-card__cta{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;color:#111;margin-top:4px;}

/* Tab per grup (mis. wilayah toko). Tanpa JS semua grup tampil berurutan. */
.ms-tabs__list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;padding:0 var(--ms-gutter) 36px;}
.ms-tabs__list button{border:0;background:none;padding:4px 0;cursor:pointer;font:inherit;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ms-grey);border-bottom:1px solid transparent;}
.ms-tabs__list button[aria-selected="true"]{color:#111;border-bottom-color:#111;}
.ms-tabs__panel + .ms-tabs__panel{margin-top:56px;}
.ms-tabs__heading{font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-align:center;margin:0 0 24px;}
.ms-tabs.is-tabbed .ms-tabs__heading{display:none;}
.ms-tabs.is-tabbed .ms-tabs__panel + .ms-tabs__panel{margin-top:0;}

/* Journal (template-journal.php, category.php) */
.ms-journal{padding:64px 0 100px;}
.ms-journal__head{text-align:center;padding:0 var(--ms-gutter) 40px;}
.ms-journal__title{font-size:22px;font-weight:400;letter-spacing:3px;text-transform:uppercase;margin:0 0 12px;}
.ms-journal__intro{max-width:560px;margin:0 auto 20px;color:#555;line-height:1.7;}
.ms-journal__tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;margin:24px 0 14px;}
.ms-journal__tabs a{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ms-grey);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;}
.ms-journal__tabs a[aria-current="page"]{color:#111;border-bottom-color:#111;}
.ms-journal__count{font-size:11px;letter-spacing:1.5px;color:var(--ms-grey);margin:0;}
.ms-journal__empty{text-align:center;color:#666;}
.ms-journal__pager{display:flex;justify-content:center;gap:16px;padding-top:56px;font-size:12px;letter-spacing:1px;}
.ms-journal__pager a,.ms-journal__pager span{color:inherit;text-decoration:none;}
.ms-journal__pager .current{border-bottom:1px solid #111;}
.ms-article__date{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ms-grey);margin-bottom:2em !important;}

@media(max-width:900px){
  .ms-cards{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .ms-story-lead-wrap{padding:48px 20px;}
  .ms-story{padding:40px 20px 60px;}
  .ms-story-quote{margin:2em -20px;padding:2em 20px;}
  .ms-story-quote p{font-size:18px;}
  .ms-story__inner .wp-block-media-text,
  .ms-story__inner .wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr !important;margin:2.5em calc(50% - 50vw);}
  .ms-story__inner .wp-block-media-text__media,
  .ms-story__inner .has-media-on-the-right .wp-block-media-text__media{grid-column:1;grid-row:1;}
  .ms-story__inner .wp-block-media-text__content,
  .ms-story__inner .has-media-on-the-right .wp-block-media-text__content{grid-column:1;grid-row:2;padding:28px 20px 0;max-width:none;justify-self:stretch;}
  .ms-page-cards{padding:0 0 64px;}
  .ms-cards{grid-template-columns:1fr;gap:32px;}
  .ms-cards--square{grid-template-columns:repeat(2,1fr);gap:28px 4px;}
  .ms-journal .ms-cards{grid-template-columns:repeat(2,1fr);gap:28px 4px;}
  .ms-journal{padding:40px 0 64px;}
}
