
/* MORAZE BD / Atelier refresh — layered override, existing commerce logic preserved */
:root{--mz-red:#e11d2e;--mz-ink:#090909;--mz-paper:#f7f6f3;--mz-muted:#737373;--mz-line:rgba(20,20,20,.12);--mz-radius:18px}
html{scroll-behavior:smooth}body{background:var(--mz-paper);color:#111;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.012em}
a{transition:color .18s ease,opacity .18s ease}button,.btn,input,select,textarea{font:inherit}
img{max-width:100%}
:where(.container,.mz-container,.wrap){max-width:1320px}
:where(button,.btn,[type=submit]){transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
:where(button,.btn,[type=submit]):hover{transform:translateY(-1px)}
:focus-visible{outline:3px solid rgba(225,29,46,.45)!important;outline-offset:3px}
::selection{background:#e11d2e;color:#fff}
header,.site-header,.mz-header,.main-header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
:where(.product-card,.product-item,.product-box,.category-card,.feature-card){border:1px solid rgba(0,0,0,.07)!important;border-radius:18px!important;overflow:hidden;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.025);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
:where(.product-card,.product-item,.product-box,.category-card,.feature-card):hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.09);border-color:rgba(225,29,46,.25)!important}
:where(.product-card img,.product-item img,.product-box img){transition:transform .45s cubic-bezier(.2,.7,.2,1)}
:where(.product-card:hover img,.product-item:hover img,.product-box:hover img){transform:scale(1.035)}
:where(.btn-primary,.primary-btn,.add-to-cart,.checkout-btn){background:#e11d2e!important;border-color:#e11d2e!important;color:white!important;border-radius:999px!important;font-weight:750!important}
:where(.btn-primary,.primary-btn,.add-to-cart,.checkout-btn):hover{background:#b81422!important;box-shadow:0 8px 24px rgba(225,29,46,.2)}
:where(input,select,textarea){border-radius:12px!important;border-color:#dedede!important;min-height:44px}
:where(input,select,textarea):focus{border-color:#e11d2e!important;box-shadow:0 0 0 3px rgba(225,29,46,.09)!important}
:where(.section-title,h1,h2,h3){letter-spacing:-.04em}
:where(.section-title,h2){font-weight:850}
:where(.badge,.product-badge,.sale-badge){border-radius:999px!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:768px){body{font-size:15px}:where(.container,.mz-container,.wrap){width:min(100% - 28px,1320px)}:where(.product-card,.product-item,.product-box){border-radius:14px!important}}


/* Google sign-in / sign-up */
.google-auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 12px;color:#8b8b8b;font-size:11px;font-weight:700;letter-spacing:1.4px}
.google-auth-divider:before,.google-auth-divider:after{content:"";height:1px;background:rgba(128,128,128,.28);flex:1}
.google-auth-btn{display:flex!important;align-items:center;justify-content:center;gap:12px;background:#fff!important;color:#202124!important;border:1px solid #dadce0!important;box-shadow:0 1px 2px rgba(0,0,0,.08)!important}
.google-auth-btn:hover{background:#f8faff!important;border-color:#c8d7f4!important}
.google-auth-btn:disabled{opacity:.7;cursor:wait}
.google-g{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;font-family:Arial,sans-serif;font-size:19px;font-weight:800;color:#4285f4;background:#fff;flex:none}
.google-auth-message{min-height:0;margin:8px 0 0;font-size:13px;line-height:1.5;color:#b42318}
.google-auth-message:empty{display:none}
.google-auth-message.is-error{padding:9px 11px;border-radius:8px;background:rgba(180,35,24,.07)}

/* MORAZE account provider controls: accessible, high-contrast and mobile-safe */
.phone-otp-auth{margin-top:18px;padding:16px;border:1px solid #e2e5eb;border-radius:14px;background:#fff;color:#171923}
.phone-otp-auth .form-label{display:block;margin:10px 0 7px;color:#303747;font-weight:700}
.phone-otp-auth .form-control{width:100%;min-height:46px;box-sizing:border-box}
.phone-otp-actions{margin-top:10px}
.phone-otp-auth [data-phone-verify]{width:100%;margin-top:10px}
.phone-otp-code-wrap[hidden]{display:none!important}
.phone-otp-auth [data-phone-recaptcha]{margin-top:12px;overflow:hidden}
.phone-otp-auth .google-auth-message{min-height:1em;margin:10px 0 0;color:#276749;font-size:13px;overflow-wrap:anywhere}
.phone-otp-auth .google-auth-message.is-error{color:#b42318}
.phone-otp-auth button:disabled{opacity:.7;cursor:wait}
@media(max-width:480px){.phone-otp-auth{padding:12px}.phone-otp-auth iframe{max-width:100%}}




/* =========================================================
   MORAZE BD — SITE-WIDE LAYOUT RECOVERY LAYER
   Conservative overrides for broken/overflowing CSS on all pages.
   Keeps existing brand styles, content, PHP logic and checkout intact.
========================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { max-width: 100%; -webkit-text-size-adjust: 100%; }
body { width: 100%; max-width: 100%; min-width: 320px; overflow-x: hidden; }
img, picture, video, canvas, iframe, svg { max-width: 100%; }
img { height: auto; }
input, select, textarea, button { max-width: 100%; font: inherit; }
input, select, textarea { min-width: 0; }
pre, code { max-width: 100%; overflow-wrap: anywhere; }
:where(main, section, article, aside, header, footer, nav) { min-width: 0; }
:where(.container, .mz-container, .wrap, .content, .page-content) { min-width: 0; }
:where(.row, .grid, [class*="-grid"]) > * { min-width: 0; }
:where(h1, h2, h3, h4, p, a, button, label, li, span) { overflow-wrap: break-word; }

/* Do not force a global footer color or crop every product image. */
.hero-slider { position: relative; isolation: isolate; overflow: hidden; }
.hero-slide { inset: 0; }
.hero-slide-bg { background-repeat: no-repeat; background-position: center center; background-size: cover; }
.hero-slide.active .hero-slide-bg { will-change: auto; }

@media (max-width: 1024px) {
  :where(.container, .mz-container, .wrap) { width: 100%; max-width: 100%; }
  :where(table) { max-width: 100%; }
}
@media (max-width: 768px) {
  html, body { overflow-x: hidden; }
  :where(.container, .mz-container, .wrap) { padding-left: 16px; padding-right: 16px; }
  :where(.row, .grid, [class*="-grid"]) { min-width: 0; }
  :where(input, select, textarea) { width: 100%; }
  :where(table) { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hero-slider { width: 100%; max-width: 100%; min-height: 500px; height: min(78svh, 720px); }
  .hero-slide { width: 100%; max-width: 100%; }
  .hero-slide-bg { background-position: center center; }
  .hero-slide::before { background: linear-gradient(90deg, rgba(0,0,0,.48), rgba(0,0,0,.20) 65%, rgba(0,0,0,.30)); }
  .hero-grid { width: 100%; max-width: 100%; min-width: 0; padding-left: 20px; padding-right: 20px; }
  .hero-title { max-width: 100%; overflow-wrap: anywhere; }
  .hero-desc { max-width: 100%; overflow-wrap: anywhere; }
  .hero-buttons { max-width: 100%; flex-wrap: wrap; }
  .btn-hero { min-width: 0; max-width: 100%; white-space: normal; }
  .mh-header, .mh-header-inner, .mh-topbar, .mh-mobile-menu { max-width: 100%; }
}
@media (max-width: 480px) {
  .hero-slider { min-height: 480px; height: 74svh; }
  .hero-grid { padding-left: 16px; padding-right: 16px; }
  .hero-slide::before { background: linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.16) 50%, rgba(0,0,0,.38)); }
  .hero-buttons { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
