/* ==========================================================
   Masunnah Hijabs — Concept B "Phulkari Pop"
   ========================================================== */
:root {
	--mb-cream: #FFF8EC;
	--mb-ink: #1E1B18;
	--mb-muted: #5C534A;
	--mb-saffron: #E8A33D;
	--mb-saffron-l: #FCE7C2;
	--mb-magenta: #B8336A;
	--mb-magenta-d: #9A2A57;
	--mb-pink-l: #F6D3E0;
	--mb-teal: #1F5F5B;
	--mb-teal-l: #D7ECE7;
	--mb-line: #EBD9BC;
	--mb-radius: 16px;
	--mb-display: "Bricolage Grotesque", Manrope, sans-serif;
	--mb-stitch: 2px dashed var(--mb-saffron);
}

body { background: var(--mb-cream); color: var(--mb-ink); -webkit-font-smoothing: antialiased; }
::selection { background: var(--mb-saffron); color: var(--mb-ink); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
	outline: 3px solid var(--mb-magenta); outline-offset: 3px; border-radius: 6px;
}
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }
.wp-site-blocks > main, .wp-site-blocks > .wp-block-group { margin-block-start: 0; }

/* ---------- shared pieces ---------- */
.mb-eyebrow { font-size: 12px !important; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--mb-magenta-d); margin: 0 0 10px; }
.mb-sticker { display: inline-block; padding: 6px 14px; border-radius: 999px; background: var(--mb-saffron); color: var(--mb-ink); font-size: 12px; font-weight: 800; letter-spacing: .08em; transform: rotate(-3deg); }
.mb-stitch { border: var(--mb-stitch) !important; }
.mb-wrap { width: min(1240px, 100% - 32px); margin-inline: auto; }
.mb-section { padding-block: clamp(44px, 7vw, 84px); }
.mb-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px 24px; margin-bottom: 28px; }
.mb-section-head h2 { margin: 0; font-size: clamp(30px, 4vw, 46px); }
.mb-section-head p { margin: 0; color: var(--mb-muted); max-width: 520px; }
.mb-link-arrow a, a.mb-link-arrow { font-weight: 800; color: var(--mb-magenta-d); text-decoration: none; }
.mb-link-arrow a:hover, a.mb-link-arrow:hover { text-decoration: underline; }

/* Buttons */
.wp-element-button, .wp-block-button__link { font-weight: 800; border-radius: 12px; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.mb-btn-saffron .wp-block-button__link { background: var(--mb-saffron) !important; color: var(--mb-ink) !important; box-shadow: 0 4px 0 #B87A1D; }
.mb-btn-saffron .wp-block-button__link:hover { box-shadow: 0 6px 0 #B87A1D; }
.mb-btn-magenta .wp-block-button__link { background: var(--mb-magenta) !important; color: #fff !important; box-shadow: 0 4px 0 #7E1E46; }
.mb-btn-ink .wp-block-button__link { background: var(--mb-ink) !important; color: var(--mb-cream) !important; }
.mb-btn-ghost-light .wp-block-button__link { background: transparent !important; color: var(--mb-cream) !important; border: 2px solid var(--mb-cream) !important; }
.mb-btn-ghost .wp-block-button__link { background: transparent !important; color: var(--mb-ink) !important; border: 2px solid var(--mb-ink) !important; }

/* ---------- announcement + header ---------- */
.mb-announce { background: var(--mb-ink); color: var(--mb-cream); font-size: 13px; text-align: center; padding: 9px 16px; margin: 0 !important; }
.mb-announce p { margin: 0; }
.mb-announce strong { color: var(--mb-saffron); }
.wp-block-template-part:has(> .mb-header) { position: sticky; top: 0; z-index: 50; }
body.admin-bar .wp-block-template-part:has(> .mb-header) { top: 32px; }
@media (max-width: 782px) { body.admin-bar .wp-block-template-part:has(> .mb-header) { top: 0; position: relative; } }
.mb-header { background: var(--mb-cream); border-bottom: var(--mb-stitch); margin: 0 !important; }
.mb-header .wp-block-navigation__submenu-container { background: #fff !important; border: 2px dashed var(--mb-saffron) !important; border-radius: 14px; padding: 8px !important; min-width: 220px !important; }
.mb-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 10px !important; border-radius: 8px; }
.mb-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--mb-saffron-l); }
.mb-header-inner { width: min(1240px, 100% - 32px); margin-inline: auto; padding-block: 12px; gap: 16px; }
.mb-logo, .mb-logo a { font-family: var(--mb-display) !important; font-weight: 800 !important; font-size: 30px !important; letter-spacing: -1px; color: var(--mb-magenta) !important; text-decoration: none !important; line-height: 1; text-transform: lowercase; }
.mb-logo a::after { content: "."; color: var(--mb-saffron); }
.mb-nav { font-weight: 700; font-size: 15px; }
.mb-nav .wp-block-navigation-item__content { padding: 8px 4px; }
.mb-nav .wp-block-navigation-item__content:hover { color: var(--mb-magenta); text-decoration: none; }
.mb-nav .mb-nav-style-me > .wp-block-navigation-item__content { background: var(--mb-pink-l); color: var(--mb-magenta-d); padding: 8px 14px; border-radius: 999px; }
.mb-nav .mb-nav-style-me > .wp-block-navigation-item__content::before { content: "✦ "; }
.mb-header-tools { gap: 6px; }
.mb-header-tools .wp-block-search__button, .mb-header-tools .wc-block-mini-cart__button, .mb-header-tools .wp-block-woocommerce-customer-account a { min-width: 44px; min-height: 44px; }
.mb-header .wc-block-mini-cart__button { background: var(--mb-ink); color: var(--mb-cream); border-radius: 12px; padding: 8px 14px; font-weight: 800; }
.mb-header .wc-block-mini-cart__badge { background: var(--mb-saffron); color: var(--mb-ink); border-color: var(--mb-ink); }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--mb-cream) !important; padding: 24px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--mb-display); font-size: 28px; font-weight: 800; }

/* ---------- hero ---------- */
.mb-hero-wrap { padding: 20px 16px 0; }
.mb-hero { width: min(1240px, 100%); margin-inline: auto !important; background: var(--mb-teal); color: var(--mb-cream); border: 3px dashed var(--mb-saffron); border-radius: 28px; overflow: hidden; gap: 0 !important; }
.mb-hero > .wp-block-column { margin: 0; }
.mb-hero-copy { padding: clamp(32px, 5vw, 64px) !important; display: flex; flex-direction: column; justify-content: center; gap: 18px; }
.mb-hero-copy h1 { margin: 0; font-size: clamp(44px, 6.4vw, 84px); line-height: .95; letter-spacing: -2px; color: var(--mb-cream); }
.mb-hero-copy h1 em { font-style: normal; color: #F7C46B; }
.mb-hero-copy p { margin: 0; font-size: 18px; max-width: 460px; color: #EAF3F1; }
.mb-hero-media { position: relative; background: var(--mb-magenta); min-height: 420px; }
.mb-hero-media::before { content: ""; position: absolute; inset: 0; opacity: .3; background-image: linear-gradient(45deg, var(--mb-saffron) 25%, transparent 25%, transparent 75%, var(--mb-saffron) 75%), linear-gradient(45deg, var(--mb-saffron) 25%, transparent 25%, transparent 75%, var(--mb-saffron) 75%); background-size: 48px 48px; background-position: 0 0, 24px 24px; }
.mb-hero-media figure { position: absolute; inset: 36px; margin: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,.25); }
.mb-hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mb-hero-trust { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; font-weight: 700; color: #EAF3F1; margin-top: 4px; }
.mb-hero-trust span::before { content: "✓ "; color: #F7C46B; }

/* ---------- "where are you going" tiles ---------- */
.mb-days { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.mb-day { position: relative; padding: 22px !important; border-radius: var(--mb-radius); min-height: 170px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; transition: transform .18s ease; margin: 0 !important; }
.mb-day:hover { transform: translateY(-4px) rotate(-.5deg); }
.mb-day h3 { margin: 0; font-size: clamp(26px, 3vw, 34px); }
.mb-day h3 a { text-decoration: none; color: inherit; }
.mb-day h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.mb-day p { margin: 0; font-size: 14px; font-weight: 600; }
.mb-day .mb-day-arrow { font-size: 22px; font-weight: 800; }
.mb-day--campus { background: var(--mb-saffron-l); }
.mb-day--ghar { background: var(--mb-teal-l); }
.mb-day--shaadi { background: var(--mb-pink-l); }
.mb-day--eid { background: var(--mb-ink); color: var(--mb-cream); }

/* ---------- Style Me band ---------- */
.mb-styleme-band { background: var(--mb-magenta); color: #fff; border-radius: 28px; padding: clamp(28px, 5vw, 56px) !important; position: relative; overflow: hidden; }
.mb-styleme-band::after { content: ""; position: absolute; right: -60px; top: -60px; width: 260px; height: 260px; border: 3px dashed var(--mb-saffron); border-radius: 50%; opacity: .7; }
.mb-styleme-band h2 { color: #fff; margin: 0; font-size: clamp(34px, 5vw, 58px); }
.mb-styleme-band p { color: #FCE7EF; font-size: 18px; margin: 0; max-width: 560px; }
.mb-steps-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 4px !important; padding: 0; list-style: none; }
.mb-steps-row li { background: rgba(255,255,255,.14); border: 1.5px dashed rgba(255,255,255,.6); padding: 8px 14px; border-radius: 999px; font-weight: 700; font-size: 14px; margin: 0 !important; }

/* ---------- product grids (WooCommerce blocks) ---------- */
.wc-block-product-template, .wp-block-woocommerce-product-template { gap: 18px !important; }
.wc-block-product, .wp-block-post.product { background: #fff; border-radius: var(--mb-radius); padding: 10px 10px 16px; border: 2px dashed transparent; transition: border-color .15s ease, transform .15s ease; }
.wc-block-product:hover, .wp-block-post.product:hover { border-color: var(--mb-saffron); transform: translateY(-3px); }
.wc-block-components-product-image img, .wc-block-components-product-image { border-radius: 12px; }
.wc-block-components-product-image img { aspect-ratio: 4 / 5; object-fit: cover; background: var(--mb-saffron-l); }
.wc-block-product .wp-block-post-title, .wp-block-post.product .wp-block-post-title { font-family: var(--mb-display); font-weight: 700; font-size: 18px !important; line-height: 1.2; margin: 12px 6px 4px; }
.wc-block-product .wp-block-post-title a, .wp-block-post.product .wp-block-post-title a { text-decoration: none; }
.wc-block-components-product-price, .wp-block-woocommerce-product-price { font-weight: 800; color: var(--mb-ink); }
.wc-block-product .wp-block-woocommerce-product-price, .wc-block-product .wp-block-woocommerce-product-button { margin-inline: 6px; }
.wc-block-components-product-button .wp-block-button__link, .wc-block-components-product-button__button { width: 100%; background: var(--mb-ink) !important; color: var(--mb-cream) !important; border-radius: 12px !important; font-size: 14px !important; min-height: 44px; }
.wc-block-components-product-sale-badge { background: var(--mb-magenta); color: #fff; border: 0; border-radius: 999px; }

/* ---------- fabric chips ---------- */
.mb-fabrics { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.mb-fabric { background: #fff; border: 2px dashed var(--mb-line); border-radius: var(--mb-radius); padding: 18px !important; margin: 0 !important; position: relative; transition: border-color .15s ease; }
.mb-fabric:hover { border-color: var(--mb-teal); }
.mb-fabric h3 { margin: 0 0 6px; font-size: 22px; }
.mb-fabric h3 a { text-decoration: none; }
.mb-fabric h3 a::after { content: ""; position: absolute; inset: 0; }
.mb-fabric p { margin: 0; font-size: 14px; color: var(--mb-muted); }
.mb-fabric .mb-fabric-tag { display: inline-block; margin-top: 10px; font-size: 12px; font-weight: 800; color: var(--mb-teal); }

/* ---------- complete the look ---------- */
.mb-set { background: var(--mb-ink); color: var(--mb-cream); border-radius: 28px; padding: clamp(28px, 5vw, 56px) !important; gap: 32px !important; }
.mb-set h2 { color: var(--mb-cream); font-size: clamp(32px, 4.5vw, 52px); margin: 0 0 12px; }
.mb-set p { color: #E9E1D6; }
.mb-set-pieces { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.mb-set-piece { border: 2px dashed #6B6158; border-radius: var(--mb-radius); padding: 18px 14px !important; text-align: center; margin: 0 !important; }
.mb-set-piece .mb-set-num { font-family: var(--mb-display); font-size: 40px; font-weight: 800; color: var(--mb-saffron); margin: 0; line-height: 1; }
.mb-set-piece p { margin: 8px 0 0; font-weight: 700; color: var(--mb-cream); font-size: 15px; }
.mb-set-piece a { color: var(--mb-cream); text-decoration: none; }
.mb-set-piece a:hover { color: var(--mb-saffron); }

/* ---------- how to wear ---------- */
.mb-guides { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.mb-guide { background: #fff; border-radius: var(--mb-radius); padding: 24px !important; margin: 0 !important; border-top: 6px solid var(--mb-saffron); }
.mb-guide:nth-child(2) { border-top-color: var(--mb-magenta); }
.mb-guide:nth-child(3) { border-top-color: var(--mb-teal); }
.mb-guide h3 { margin: 0 0 4px; font-size: 24px; }
.mb-guide .mb-guide-meta { margin: 0 0 14px; font-size: 13px; font-weight: 700; color: var(--mb-muted); }
.mb-guide ol { margin: 0; padding-left: 0; list-style: none; counter-reset: s; display: flex; flex-direction: column; gap: 10px; }
.mb-guide ol li { counter-increment: s; display: flex; gap: 10px; font-size: 15px; margin: 0 !important; }
.mb-guide ol li::before { content: counter(s); flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--mb-ink); color: var(--mb-cream); font-weight: 800; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }

/* ---------- trust strip + FAQ ---------- */
.mb-trust { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.mb-trust > * { background: var(--mb-saffron-l); border-radius: var(--mb-radius); padding: 18px !important; margin: 0 !important; }
.mb-trust strong { display: block; font-family: var(--mb-display); font-size: 19px; }
.mb-trust p { margin: 0; font-size: 14px; }
.mb-faq .wp-block-details { background: #fff; border-radius: 14px; padding: 16px 20px; margin: 0 0 10px !important; border: 2px dashed var(--mb-line); }
.mb-faq .wp-block-details summary { font-weight: 800; cursor: pointer; font-size: 17px; }
.mb-faq .wp-block-details[open] { border-color: var(--mb-saffron); }
.mb-faq .wp-block-details p { margin: 10px 0 0; }

/* ---------- footer ---------- */
.mb-footer { background: var(--mb-ink); color: var(--mb-cream); margin-top: clamp(40px, 6vw, 80px) !important; border-top: 6px solid var(--mb-saffron); }
.mb-footer a { color: var(--mb-cream); text-decoration: none; }
.mb-footer a:hover { color: var(--mb-saffron); }
.mb-footer-inner { width: min(1240px, 100% - 32px); margin-inline: auto; padding-block: 56px 32px; gap: 32px !important; }
.mb-footer .mb-logo a { color: var(--mb-saffron) !important; }
.mb-footer h4 { color: var(--mb-saffron); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 12px; font-family: Manrope, sans-serif; }
.mb-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.mb-footer-bottom { width: min(1240px, 100% - 32px); margin-inline: auto; padding: 18px 0 28px; border-top: 1px dashed #5b524a; font-size: 13px; color: #CFC6BA; }

/* ---------- mobile bottom bar + WhatsApp ---------- */
.mb-bottom-bar { display: none; }
.mb-wa { position: fixed; right: 18px; bottom: 22px; z-index: 60; width: 56px; height: 56px; border-radius: 50%; background: #1F8A4C; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 22px rgba(0,0,0,.25); }
.mb-wa:hover { transform: scale(1.06); }

/* ---------- single product + cart/checkout ---------- */
.mb-cod-note { display: inline-block; margin: 14px 0 0; padding: 10px 14px; border: 2px dashed var(--mb-saffron); border-radius: 12px; font-size: 14px; font-weight: 700; background: var(--mb-saffron-l); }
.single-product .wp-block-post-title { font-size: clamp(32px, 4vw, 48px); }
.single-product .wp-block-woocommerce-product-price { font-size: 26px; }
.single-product .wc-block-components-product-image img, .single-product .woocommerce-product-gallery img { border-radius: 18px; }
.wc-block-cart, .wc-block-checkout { --wc-red: var(--mb-magenta); }
.wc-block-components-button:not(.is-link) { background: var(--mb-magenta) !important; color: #fff !important; border-radius: 14px !important; min-height: 54px; font-weight: 800; }
.wc-block-components-text-input input, .wc-block-components-textarea, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select { border-radius: 12px !important; min-height: 52px; border: 1.5px solid #B9AE9F !important; background: #fff !important; }
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color: var(--mb-teal) !important; }
.wc-block-components-radio-control__option { border-radius: 12px; }
.wc-block-components-sidebar, .wc-block-components-totals-wrapper { border-color: var(--mb-line) !important; }
.wc-block-components-order-summary-item__image img { border-radius: 10px; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title, .wp-block-woocommerce-cart h2 { font-family: var(--mb-display); font-weight: 800; }

/* ---------- shop archive ---------- */
.mb-archive-head { background: var(--mb-teal-l); border-radius: 24px; padding: clamp(24px, 4vw, 40px) !important; border: 2px dashed var(--mb-teal); }
.mb-archive-head h1 { margin: 0; font-size: clamp(34px, 5vw, 56px); }
.mb-cat-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px !important; }
.mb-cat-chips a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; background: #fff; color: var(--mb-ink); font-weight: 700; font-size: 14px; text-decoration: none; border: 1.5px solid var(--mb-line); }
.mb-cat-chips a:hover { border-color: var(--mb-magenta); color: var(--mb-magenta-d); }

/* ==========================================================
   Style Me stylist
   ========================================================== */
.mb-stylist { width: min(720px, 100% - 32px); margin: 28px auto 0; }
.mb-stylist-card { background: #fff; border-radius: 28px; border: 3px dashed var(--mb-saffron); padding: clamp(22px, 4vw, 44px); }
.mb-stylist h1, .mb-stylist h2 { margin: 0; letter-spacing: -1px; }
.mb-stylist h1 { font-size: clamp(38px, 6vw, 60px); }
.mb-stylist h2 { font-size: clamp(30px, 5vw, 44px); }
.mb-stylist .mb-lead { font-size: 18px; color: var(--mb-muted); margin: 12px 0 0; }
.mb-st-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.mb-st-count { font-weight: 800; font-size: 14px; color: var(--mb-muted); }
.mb-st-back { background: none; border: 0; padding: 0 4px; min-height: 44px; font: inherit; font-weight: 800; color: var(--mb-muted); cursor: pointer; }
.mb-st-back:hover { color: var(--mb-ink); }
.mb-st-progress { height: 8px; border-radius: 4px; background: var(--mb-saffron-l); overflow: hidden; margin-bottom: 22px; }
.mb-st-progress span { display: block; height: 100%; background: var(--mb-magenta); border-radius: 4px; transition: width .3s ease; }
.mb-st-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.mb-st-options.is-colours { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mb-st-opt { display: flex; align-items: center; gap: 14px; text-align: left; min-height: 76px; padding: 14px 16px; border-radius: 16px; border: 2px solid var(--mb-line); background: var(--mb-cream); font: inherit; color: var(--mb-ink); cursor: pointer; transition: border-color .15s ease, transform .15s ease, background .15s ease; }
.mb-st-opt:hover { border-color: var(--mb-magenta); transform: translateY(-2px); }
.mb-st-opt[aria-pressed="true"] { border-color: var(--mb-magenta); background: var(--mb-pink-l); }
.mb-st-opt .mb-st-icon { flex: none; width: 46px; height: 46px; border-radius: 12px; background: var(--mb-saffron-l); display: flex; align-items: center; justify-content: center; font-size: 22px; }
.mb-st-opt strong { display: block; font-size: 16px; }
.mb-st-opt small { display: block; color: var(--mb-muted); font-size: 13px; margin-top: 2px; }
.mb-st-options.is-colours .mb-st-opt { flex-direction: column; justify-content: center; text-align: center; gap: 8px; min-height: 112px; }
.mb-st-swatch { width: 48px; height: 48px; border-radius: 50%; border: 2px solid rgba(0,0,0,.12); }
.mb-st-swatch.is-print { background: conic-gradient(#B8336A 0 25%, #E8A33D 0 50%, #1F5F5B 0 75%, #F6D3E0 0); }
.mb-st-start { display: inline-flex; align-items: center; justify-content: center; margin-top: 26px; min-height: 58px; padding: 0 30px; border: 0; border-radius: 14px; background: var(--mb-magenta); color: #fff; font: inherit; font-size: 18px; font-weight: 800; cursor: pointer; box-shadow: 0 4px 0 #7E1E46; }
.mb-st-start:hover { transform: translateY(-2px); }
.mb-st-how { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 26px; padding: 0; list-style: none; }
.mb-st-how li { background: var(--mb-saffron-l); border-radius: 14px; padding: 14px; font-size: 14px; font-weight: 700; margin: 0; }
.mb-st-how li b { display: block; font-family: var(--mb-display); font-size: 26px; color: var(--mb-magenta); }

.mb-st-result h2 { margin-top: 6px; }
.mb-st-why { font-size: 17px; margin: 10px 0 0; }
.mb-st-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 6px; }
.mb-st-chip { min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--mb-line); background: var(--mb-cream); font: inherit; font-size: 13px; font-weight: 700; color: var(--mb-ink); cursor: pointer; }
.mb-st-chip:hover { border-color: var(--mb-magenta); }
.mb-st-block { margin-top: 18px; padding: 20px; border-radius: 18px; background: var(--mb-cream); border: 1.5px solid var(--mb-line); }
.mb-st-block h3 { margin: 0 0 10px; font-family: Manrope, sans-serif; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--mb-muted); }
.mb-st-fabric { font-family: var(--mb-display); font-size: 28px; font-weight: 800; margin: 0; }
.mb-st-block p { margin: 6px 0 0; }
.mb-st-colours { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; text-align: center; }
.mb-st-colour { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px 4px; min-height: 96px; border-radius: 14px; border: 2px solid transparent; background: #fff; font: inherit; font-size: 13px; font-weight: 700; color: var(--mb-ink); cursor: pointer; }
.mb-st-colour span { display: block; width: 46px; height: 46px; border-radius: 50%; border: 2px solid rgba(0,0,0,.12); }

.mb-st-steps { margin: 0; padding: 0; list-style: none; counter-reset: s; display: flex; flex-direction: column; gap: 12px; }
.mb-st-steps li { counter-increment: s; display: flex; gap: 12px; align-items: flex-start; margin: 0; }
.mb-st-steps li::before { content: counter(s); flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--mb-magenta); color: #fff; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; }
.mb-st-tip { margin-top: 14px !important; padding-top: 12px; border-top: 1.5px dashed var(--mb-line); font-weight: 600; }
.mb-st-products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.mb-st-product { background: #fff; border-radius: 14px; padding: 8px; display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--mb-ink); border: 2px dashed transparent; }
.mb-st-product:hover { border-color: var(--mb-saffron); }
.mb-st-product img, .mb-st-product .mb-st-ph { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 10px; background: var(--mb-saffron-l); }
.mb-st-product strong { font-size: 14px; line-height: 1.25; }
.mb-st-product span { font-size: 13px; font-weight: 800; }
.mb-st-empty { color: var(--mb-muted); font-size: 15px; }
.mb-st-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
.mb-st-actions .mb-st-start { margin-top: 0; width: 100%; }
.mb-st-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 14px; border: 2px solid var(--mb-ink); background: transparent; color: var(--mb-ink); font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }
.mb-st-secondary:hover { background: var(--mb-ink); color: var(--mb-cream); }
.mb-st-restart { background: none; border: 0; font: inherit; font-weight: 700; color: var(--mb-muted); text-decoration: underline; min-height: 44px; cursor: pointer; }
.mb-st-status { font-size: 14px; font-weight: 700; color: var(--mb-teal); min-height: 20px; }
.mb-st-fade { animation: mbFade .28s ease; }
@keyframes mbFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ---------- free-delivery bar (cart & checkout) ---------- */
.mb-free-bar { width: min(1240px, 100% - 32px); margin: 0 auto 20px; background: #fff; border: 2px dashed var(--mb-saffron); border-radius: 18px; padding: 16px 18px; }
.mb-free-bar[hidden] { display: none; }
.mb-free-msg { margin: 0 0 10px; font-family: var(--mb-display); font-weight: 800; font-size: 20px; }
.mb-free-track { height: 12px; border-radius: 6px; background: var(--mb-saffron-l); overflow: hidden; }
.mb-free-track span { display: block; height: 100%; width: 0; border-radius: 6px; background: linear-gradient(90deg, var(--mb-saffron), var(--mb-magenta)); transition: width .45s ease; }
.mb-free-bar.is-free { border-color: var(--mb-teal); background: var(--mb-teal-l); }
.mb-free-bar.is-free .mb-free-track span { background: var(--mb-teal); }
.mb-set-hint { margin: 10px 0 0; font-size: 15px; font-weight: 700; color: var(--mb-magenta-d); }
.mb-set-hint:empty { display: none; }
.mb-set-hint a { color: inherit; }

/* ---------- picked for you ---------- */
.mb-for-you { margin-top: clamp(28px, 4vw, 44px) !important; background: var(--mb-pink-l); border-radius: 24px; padding: clamp(20px, 3vw, 32px); border: 2px dashed var(--mb-magenta); }
.mb-for-you[hidden] { display: none; }
.mb-fy-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.mb-fy-head h2 { margin: 0; font-size: clamp(26px, 3.4vw, 38px); }
.mb-fy-sub { margin: 6px 0 0; font-weight: 700; color: var(--mb-muted); }
.mb-fy-restyle { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--mb-magenta); color: #fff; font-weight: 800; text-decoration: none; }
.mb-fy-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.mb-fy-card { background: #fff; border-radius: 14px; padding: 8px; display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--mb-ink); }
.mb-fy-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 10px; background: var(--mb-saffron-l); }
.mb-fy-card strong { font-size: 14px; line-height: 1.25; }
.mb-fy-card span { font-size: 13px; font-weight: 800; }

/* ---------- Friday Drop + Ammi & Me ---------- */
.mb-promos { display: grid !important; grid-template-columns: 1fr; gap: 16px; margin-bottom: clamp(44px, 7vw, 84px) !important; }
.mb-drop, .mb-ammi { border-radius: 26px; padding: clamp(24px, 4vw, 40px) !important; margin: 0 !important; display: flex; flex-direction: column; gap: 12px; }
.mb-drop { background: var(--mb-ink); color: var(--mb-cream); }
.mb-drop h2 { color: var(--mb-cream); margin: 0; font-size: clamp(32px, 4vw, 46px); }
.mb-ammi { background: var(--mb-teal-l); border: 2px dashed var(--mb-teal); }
.mb-ammi h2 { margin: 0; font-size: clamp(32px, 4vw, 46px); color: var(--mb-teal); }
.mb-drop p, .mb-ammi p { margin: 0; }
.mb-drop .mb-sticker, .mb-ammi .mb-sticker { align-self: flex-start; }
.mb-countdown { display: flex; gap: 10px; margin: 6px 0; }
.mb-cd-unit { display: flex; flex-direction: column; align-items: center; min-width: 76px; padding: 10px 6px; border-radius: 14px; border: 2px dashed var(--mb-saffron); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #E9E1D6; }
.mb-cd-unit b { font-family: var(--mb-display); font-size: 34px; line-height: 1.05; color: var(--mb-saffron); letter-spacing: 0; }
.mb-drop-cta a { font-weight: 800; text-decoration: none; display: inline-flex; min-height: 44px; align-items: center; }
.mb-drop .mb-drop-cta a { color: var(--mb-saffron); }
.mb-ammi .mb-drop-cta a { color: var(--mb-teal); }
.mb-drop-cta a:hover { text-decoration: underline; }
.mb-ammi-dots { display: flex; gap: 0; margin: 4px 0; }
.mb-ammi-dots span { width: 44px; height: 44px; border-radius: 50%; border: 3px solid #fff; margin-right: -10px; }
.mb-ammi-dots span:nth-child(2n) { margin-right: 10px; }

/* ---------- share my look ---------- */
.mb-share { margin-top: 6px; padding: 16px; border-radius: 16px; background: var(--mb-saffron-l); text-align: center; }
.mb-share-title { margin: 0 0 10px; font-family: var(--mb-display); font-weight: 800; font-size: 20px; }
.mb-share-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.mb-share-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 10px; border-radius: 12px; border: 0; background: #fff; color: var(--mb-ink); font: inherit; font-weight: 800; font-size: 14px; text-decoration: none; cursor: pointer; }
.mb-share-btn.is-wa { background: #1F8A4C; color: #fff; }
.mb-share-btn.is-story { background: var(--mb-magenta); color: #fff; }
.mb-share-btn:hover { filter: brightness(.95); }
.mb-share .mb-st-status { margin: 8px 0 0; }

/* ---------- stock labels ---------- */
.mb-stock { display: inline-block; margin: 4px 0 0 !important; padding: 2px 10px; border-radius: 999px; background: var(--mb-pink-l); color: var(--mb-magenta-d); font-size: 12px; font-weight: 800; }
.mb-stock--out { background: #EDE6DC; color: var(--mb-muted); }
.wc-block-product .mb-stock { margin-left: 6px !important; }
.mb-notify { display: inline-flex; align-items: center; min-height: 48px; padding: 0 18px; border-radius: 12px; background: var(--mb-teal); color: #fff !important; font-weight: 800; text-decoration: none; }

/* ---------- product reviews (Customer Reviews for WooCommerce) ---------- */
.woocommerce-Reviews { max-width: 820px; }
.woocommerce-Reviews-title, .woocommerce-Reviews .comment-reply-title { display: block; font-family: var(--mb-display); font-weight: 800; font-size: clamp(26px, 3vw, 34px); margin: 0 0 12px; }
.woocommerce-noreviews { padding: 14px 18px; border-radius: 14px; background: var(--mb-saffron-l); font-weight: 600; }
.woocommerce-Reviews .commentlist { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.woocommerce-Reviews .commentlist li { margin: 0; }
.woocommerce-Reviews .comment_container { background: #fff; border-radius: 16px; padding: 16px; border: 2px dashed var(--mb-line); }
.woocommerce-Reviews .woocommerce-review__author { font-weight: 800; }
.woocommerce-Reviews .woocommerce-review__verified { color: var(--mb-teal); font-weight: 700; font-style: normal; }
.star-rating span::before, .star-rating::before, .stars a, .cr-histogram-table .cr-histogram-row { color: var(--mb-saffron); }
#review_form_wrapper { background: #fff; border-radius: 22px; padding: clamp(18px, 3vw, 28px); border: 3px dashed var(--mb-saffron); }
#review_form .comment-notes { font-size: 14px; color: var(--mb-muted); }
#review_form label { font-weight: 800; display: block; margin-bottom: 6px; }
#review_form input[type="text"], #review_form input[type="email"], #review_form textarea, #review_form select { width: 100%; box-sizing: border-box; min-height: 50px; padding: 12px 14px; border-radius: 12px; border: 1.5px solid #B9AE9F; background: var(--mb-cream); font: inherit; }
#review_form input:focus, #review_form textarea:focus, #review_form select:focus { border-color: var(--mb-teal); outline: none; box-shadow: 0 0 0 3px var(--mb-teal-l); }
#review_form .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; }
#review_form .comment-form-cookies-consent label { font-weight: 500; display: inline; }
.cr-upload-local-images { margin: 6px 0 16px; padding: 18px; border-radius: 16px; border: 2px dashed var(--mb-magenta); background: var(--mb-pink-l); text-align: center; }
.cr-upload-local-images .cr-upload-images-status { font-weight: 800; color: var(--mb-magenta-d); }
.cr-upload-local-images .cr-upload-images-status::before { content: "📸 "; }
.cr-upload-local-images input[type="file"] { margin-top: 8px; max-width: 100%; }
#review_form .form-submit input[type="submit"] { background: var(--mb-magenta) !important; color: #fff !important; border: 0; border-radius: 14px; min-height: 52px; padding: 0 28px; font-weight: 800; cursor: pointer; box-shadow: 0 4px 0 #7E1E46; }
.cr-comment-images img, .cr-comment-image img, .iv-comment-image img { border-radius: 12px; }

/* ---------- info pages (About, Contact, Delivery) ---------- */
.mb-info-page { padding-block: clamp(20px, 3vw, 32px) clamp(40px, 6vw, 72px); }
.mb-info-hero { background: var(--mb-teal-l); border: 2px dashed var(--mb-teal); border-radius: 26px; padding: clamp(24px, 4vw, 48px) !important; margin-bottom: clamp(24px, 4vw, 40px) !important; }
.mb-info-hero h1 { margin: 0 0 10px; font-size: clamp(38px, 6vw, 64px); }
.mb-info-hero p { margin: 0; font-size: 18px; max-width: 620px; }
.mb-info { max-width: 780px; margin-inline: auto !important; }
.mb-info h2 { font-size: clamp(24px, 3vw, 30px); margin: 34px 0 10px; }
.mb-info p, .mb-info li { font-size: 17px; line-height: 1.65; }
.mb-callout { background: var(--mb-saffron-l); border-radius: 18px; padding: 20px 22px !important; border-left: 6px solid var(--mb-saffron); }
.mb-callout p { margin: 0; }
.mb-facts { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-block: 8px 10px !important; }
.mb-facts > * { background: #fff; border-radius: 16px; padding: 16px !important; margin: 0 !important; border: 2px dashed var(--mb-line); }
.mb-facts strong { display: block; font-family: var(--mb-display); font-size: 22px; color: var(--mb-magenta-d); }
.mb-contact-cards { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-block: 8px 24px !important; }
.mb-contact-card { background: #fff; border-radius: 18px; padding: 20px !important; margin: 0 !important; border: 2px dashed var(--mb-line); }
.mb-contact-card h3 { margin: 0 0 4px; font-size: 22px; }
.mb-contact-card p { margin: 0; }
.mb-contact-card a { font-weight: 800; color: var(--mb-magenta-d); }
/* Contact Form 7 */
.wpcf7 form { background: #fff; border-radius: 22px; padding: clamp(18px, 3vw, 28px); border: 3px dashed var(--mb-saffron); }
.mas-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.wpcf7 label { display: block; font-weight: 800; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select, .wpcf7 textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 6px; min-height: 50px; padding: 12px 14px; border-radius: 12px; border: 1.5px solid #B9AE9F; background: var(--mb-cream); font: inherit; font-weight: 400; }
.wpcf7 textarea { min-height: 140px; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { border-color: var(--mb-teal); outline: none; box-shadow: 0 0 0 3px var(--mb-teal-l); }
.wpcf7 .wpcf7-submit { background: var(--mb-magenta); color: #fff; border: 0; border-radius: 14px; min-height: 52px; padding: 0 28px; font: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 4px 0 #7E1E46; }
.mas-contact-privacy { font-size: 14px; color: var(--mb-muted); }
@media (max-width: 700px) {
	.mb-facts, .mb-contact-cards, .mas-contact-grid { grid-template-columns: 1fr; }
}

/* ---------- responsive ---------- */
@media (max-width: 960px) {
	.mb-days, .mb-fabrics, .mb-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mb-guides { grid-template-columns: 1fr; }
	.mb-hero { flex-direction: column-reverse; }
	.mb-hero-media { min-height: 320px; }
	.mb-st-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mb-fy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mb-promos { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.mb-share-row { grid-template-columns: 1fr; }
	.mb-cd-unit { min-width: 64px; }
}
@media (max-width: 781px) {
	body { padding-bottom: 72px; }
	.mb-header .mb-nav-desktop-only { display: none !important; }
	.mb-logo, .mb-logo a { font-size: 26px !important; }
	.mb-hero-wrap { padding: 12px 12px 0; }
	.mb-hero { border-radius: 22px; }
	.mb-hero-media { min-height: 280px; }
	.mb-hero-media figure { inset: 20px; }
	.mb-day { min-height: 130px; padding: 16px !important; }
	.mb-set-pieces { grid-template-columns: 1fr; }
	.mb-st-options { grid-template-columns: 1fr; }
	.mb-st-options.is-colours { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mb-st-how { grid-template-columns: 1fr; }
	.mb-bottom-bar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; background: var(--mb-cream); border-top: 2px dashed var(--mb-saffron); padding: 4px 4px calc(6px + env(safe-area-inset-bottom)); margin: 0 !important; }
	.mb-bottom-bar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 54px; font-size: 12px; font-weight: 800; color: var(--mb-ink); text-decoration: none; }
	.mb-bottom-bar a .mb-bb-ico { font-size: 20px; line-height: 1; }
	.mb-bottom-bar a.is-style { color: var(--mb-magenta-d); }
	.mb-wa { bottom: 84px; width: 52px; height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
