/* Google Font */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap");

/* =========================================================
   LÉVORA THEME — CENTRAL DESIGN SYSTEM
   ========================================================= */

:root{
  color-scheme: light;

  /* Brand */
  --ps-primary: #111111;
    --ps-primary-dark: #000000;
    --ps-primary-hover: #292929;
    --ps-primary-soft: #f5f5f3;
    --ps-text: #111111;
    --ps-border-soft: #e7e7e3;

  /* Status */
  --ps-success: #1f7a4d;
  --ps-success-soft: #e3f9e5;
  --ps-danger: #b42318;
  --ps-danger-soft: #fff1f0;
  --ps-warning: #8a5a2b;
  --ps-warning-soft: #fff7e8;

  /* Surface and text */
  --ps-bg: #ffffff;
  --ps-card: #ffffff;
  --ps-text: #111111;
  --ps-muted: #666666;
  --ps-border-soft: #e5e5e5;
  --ps-border-strong: #111111;

  /* Shape and elevation */
  --ps-radius: 0px;
  --ps-radius-sm: 8px;
  --ps-radius-pill: 999px;
  --ps-shadow-soft: none;
  --ps-shadow-float: 0 18px 45px rgba(15,23,42,.12);

  /* Layout */
  --container-max: 1520px;
  --gutter-x: 20px;
  --ps-section-gap: clamp(32px, 5vw, 88px);
  --bottom-nav-h: 72px;
  --mb-nav-h: 68px;

  /* Search */
  --search-bg: #ffffff;
  --search-border: #111111;
  --search-shadow: none;

  /* Typography */
  --fs-base: 15px;
  --lh-base: 1.6;

  /* Controls */
  --control-h: 44px;
  --control-radius: 0px;
  --focus-ring: 0 0 0 .18rem rgba(17,24,39,.14);
}

@media (min-width: 992px){
  :root{
    --gutter-x: 28px;
  }
}

@media (min-width: 1200px){
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl{
    max-width: var(--container-max) !important;
  }
}

/* =========================================================
   RESET AND BASE
   ========================================================= */

*,
*::before,
*::after{
  box-sizing: border-box;
}

html{
  width: 100%;
  overflow-x: clip;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body{
  width: 100%;
  min-width: 0;
  margin: 0;
  overflow-x: clip;
  background: var(--ps-bg);
  color: var(--ps-text);
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main,
section,
article,
aside,
header,
footer,
nav,
.container,
.container-fluid,
.row,
.row > *{
  min-width: 0;
}

img,
picture,
video,
canvas,
svg{
  max-width: 100%;
}

img{
  height: auto;
}

button,
input,
select,
textarea{
  font: inherit;
}

button,
a,
input,
select,
textarea{
  -webkit-tap-highlight-color: transparent;
}

a{
  color: #111111;
  text-decoration: none;
}

a:hover{
  color: #111111;
  text-decoration: underline;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
  outline: 0;
  box-shadow: var(--focus-ring) !important;
}

::selection{
  background: #111111;
  color: #ffffff;
}

/* =========================================================
   TYPOGRAPHY
   ========================================================= */

h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6{
  margin-top: 0;
  color: var(--ps-text);
  font-family: "DM Sans", system-ui, sans-serif;
  overflow-wrap: anywhere;
}

h1,.h1{
  font-size: clamp(2rem, 4vw, 3.1rem);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: 0;
}

h2,.h2{
  font-size: clamp(1.6rem, 3vw, 2.35rem);
  font-weight: 600;
  line-height: 1.2;
}

h3,.h3{
  font-size: clamp(1.3rem, 2.2vw, 1.8rem);
  font-weight: 600;
  line-height: 1.25;
}

h4,.h4,
h5,.h5,
h6,.h6{
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .01em;
}

p,
li,
td,
th,
label,
.form-text,
.text-muted{
  overflow-wrap: anywhere;
}

.text-muted{
  color: var(--ps-muted) !important;
}

/* =========================================================
   LAYOUT
   ========================================================= */

.site-container{
  width: 100%;
  padding-left: var(--gutter-x) !important;
  padding-right: var(--gutter-x) !important;
}

.site-main{
  width: 100%;
  min-height: 50vh;
}

.section-space{
  margin-bottom: var(--ps-section-gap);
}

.card-soft,
.ps-card{
  background: var(--ps-card);
  border: 1px solid var(--ps-border-soft);
  border-radius: var(--ps-radius);
  box-shadow: var(--ps-shadow-soft);
}

.section-head{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: .65rem;
  margin-bottom: 1.1rem;
}

.section-head::before{
  content: "";
  width: 3px;
  height: 26px;
  flex: 0 0 3px;
  background: var(--ps-primary);
}

.section-head h4{
  margin: 0;
  font-size: 1.05rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* =========================================================
   BUTTONS — SINGLE CENTRAL SYSTEM
   ========================================================= */

.btn,
button[type="submit"],
button[type="button"]{
  font-family: inherit;
  box-shadow: none;
}

.btn-primary,
.btn-main,
.btn-accent{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: var(--control-h);
  padding: 0 1.45rem;
  border: 1px solid #111111 !important;
  border-radius: var(--ps-radius-pill) !important;
  background: #111111 !important;
  color: #ffffff !important;
  font-size: .94rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none !important;
  white-space: normal;
  text-align: center;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    transform .08s ease;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-main:hover,
.btn-main:focus,
.btn-accent:hover,
.btn-accent:focus{
  background: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.btn-primary:active,
.btn-main:active,
.btn-accent:active{
  transform: translateY(1px);
}

.btn-outline-primary,
.btn-main-outline,
.btn-outline-accent{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: var(--control-h);
  padding: 0 1.45rem;
  border: 1px solid #111111 !important;
  border-radius: var(--ps-radius-pill) !important;
  background: transparent !important;
  color: #111111 !important;
  font-size: .94rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none !important;
  white-space: normal;
  text-align: center;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    transform .08s ease;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-main-outline:hover,
.btn-main-outline:focus,
.btn-outline-accent:hover,
.btn-outline-accent:focus{
  background: #111111 !important;
  border-color: #111111 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.btn-outline-primary:active,
.btn-main-outline:active,
.btn-outline-accent:active{
  transform: translateY(1px);
}

.btn-lg{
  min-height: 48px !important;
  padding: 0 1.8rem !important;
  font-size: .96rem !important;
}

.btn-sm{
  min-height: 36px !important;
  padding: 0 1rem !important;
  font-size: .84rem !important;
}

.btn-icon{
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0 !important;
  border-radius: var(--ps-radius-pill) !important;
}

.btn:disabled,
.btn.disabled,
button:disabled{
  cursor: not-allowed;
  opacity: .58;
  pointer-events: none;
}

/* =========================================================
   FORMS
   ========================================================= */

.form-label{
  margin-bottom: .4rem;
  color: var(--ps-text);
  font-size: .88rem;
  font-weight: 600;
}

.form-control,
.form-select,
textarea.form-control,
.input-group-text{
  min-height: var(--control-h);
  border: 1px solid var(--ps-border-soft);
  border-radius: var(--control-radius);
  background-color: #ffffff;
  color: var(--ps-text);
  box-shadow: none !important;
}

textarea.form-control{
  min-height: 110px;
  resize: vertical;
}

.form-control:focus,
.form-select:focus,
textarea.form-control:focus{
  border-color: var(--ps-border-strong);
  box-shadow: var(--focus-ring) !important;
}

.form-control::placeholder,
textarea.form-control::placeholder{
  color: #8a8a8a;
  opacity: 1;
}

.form-check-input:checked{
  background-color: #111111;
  border-color: #111111;
}

.invalid-feedback{
  font-size: .8rem;
}

.form-text{
  color: var(--ps-muted);
  font-size: .8rem;
}

/* =========================================================
   TABLES, BADGES AND ALERTS
   ========================================================= */

.table-responsive{
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table{
  margin-bottom: 0;
  color: var(--ps-text);
}

.table > :not(caption) > * > *{
  border-color: var(--ps-border-soft);
}

.badge{
  font-weight: 600;
  letter-spacing: 0;
}

.alert{
  border-radius: var(--ps-radius-sm);
  overflow-wrap: anywhere;
}

.text-accent{
  color: var(--ps-primary) !important;
}

.bg-accent,
.badge-accent{
  background: var(--ps-primary) !important;
  color: #ffffff !important;
}

/* =========================================================
   WHOLESALE UI PRIMITIVES
   ========================================================= */

.wholesale-badge,
.price-type-wholesale,
.customer-type-wholesale{
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .34rem .58rem;
  border: 1px solid rgba(31,122,77,.25);
  border-radius: var(--ps-radius-pill);
  background: var(--ps-success-soft);
  color: var(--ps-success);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1;
}

.retail-badge,
.price-type-retail,
.customer-type-retail{
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .34rem .58rem;
  border: 1px solid var(--ps-border-soft);
  border-radius: var(--ps-radius-pill);
  background: #ffffff;
  color: var(--ps-text);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1;
}

.price-type-fallback,
.wholesale-fallback{
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .34rem .58rem;
  border: 1px solid #f0d8af;
  border-radius: var(--ps-radius-pill);
  background: var(--ps-warning-soft);
  color: var(--ps-warning);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1;
}

.wholesale-price{
  color: var(--ps-success);
  font-weight: 700;
}

.retail-compare-price{
  color: var(--ps-muted);
  text-decoration: line-through;
}

.wholesale-panel{
  border: 1px solid rgba(31,122,77,.22);
  background: linear-gradient(180deg,#f7fff8 0%,#ffffff 100%);
  padding: 1rem;
}

/* =========================================================
   ACCESSIBILITY AND MOTION
   ========================================================= */

.visually-hidden-focusable:not(:focus):not(:focus-within){
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}

@media (prefers-reduced-motion: reduce){
  html{
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after{
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* =========================================================
   LÉVORA MONOCHROME SEARCH-FIRST HEADER
   Replace the old PREMIUM SEARCH-FIRST HEADER block with this one
   ========================================================= */

:root{
  --pz-header-max: 1480px;

  /* Primary brand monochrome */
  --pz-blue: #111111;
  --pz-blue-dark: #000000;
  --pz-blue-hover: #292929;
  --pz-blue-soft: #f5f5f3;
  --pz-blue-softer: #fafaf8;
  --pz-blue-border: #d8d8d3;

  /* Header surfaces */
  --pz-navy: #111111;
  --pz-text: #111111;
  --pz-muted: #6f6f6b;
  --pz-line: #e7e7e3;
  --pz-soft: #f7f7f5;
  --pz-white: #ffffff;

  /* WhatsApp remains green */
  --pz-green: #16a34a;

  /* Shape and elevation */
  --pz-radius: 9px;
  --pz-shadow: 0 20px 50px rgba(0,0,0,.10);
  --pz-focus: 0 0 0 3px rgba(17,17,17,.10);
}

.pz-header{
  position: relative;
  z-index: 1150;
  background: var(--pz-white);
  color: var(--pz-text);
  border-bottom: 1px solid var(--pz-line);
}

.pz-header-container{
  width: min(
    calc(100% - 40px),
    var(--pz-header-max)
  );
  margin-inline: auto;
}

/* Contact strip */

.pz-contact-strip{
  background: var(--pz-navy);
  color: rgba(255,255,255,.88);
}

.pz-contact-strip-inner{
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  font-size: 12px;
}

.pz-contact-left,
.pz-contact-right{
  display: flex;
  align-items: center;
  gap: 24px;
  min-width: 0;
}

.pz-contact-item,
.pz-contact-right a{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: inherit !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.pz-contact-item i{
  font-size: 13px;
  opacity: .9;
}

.pz-contact-right a:hover,
.pz-contact-item:hover{
  color: #fff !important;
}

/* Desktop middle row */

.pz-desktop-main{
  background: var(--pz-white);
  border-bottom: 1px solid var(--pz-line);
}

.pz-desktop-main-inner{
  min-height: 86px;
  display: grid;
  grid-template-columns: 220px minmax(340px, 1fr) auto;
  align-items: center;
  gap: clamp(24px, 3vw, 48px);
}

.pz-desktop-logo{
  display: inline-flex;
  align-items: center;
  max-width: 220px;
  text-decoration: none !important;
}

.pz-desktop-logo img{
  display: block;
  width: auto;
  max-width: 100%;
  height: 58px;
  object-fit: contain;
  object-position: left center;
}

.pz-desktop-search{
  min-width: 0;
}

.pz-search-shell{
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  background: var(--pz-white);
  border: 1px solid #cbd8eb;
  border-radius: var(--pz-radius);
  transition:
    border-color .18s ease,
    box-shadow .18s ease;
}

.pz-search-shell:focus-within{
  border-color: var(--pz-blue);
  box-shadow: var(--pz-focus);
}

.pz-search-leading{
  position: absolute;
  left: 17px;
  z-index: 2;
  color: #8a8a85;
  font-size: 17px;
  pointer-events: none;
}

.pz-search-shell .form-control{
  min-width: 0;
  min-height: 48px;
  padding: 0 16px 0 48px;
  border: 0 !important;
  border-radius: var(--pz-radius) 0 0 var(--pz-radius) !important;
  background: transparent;
  color: var(--pz-text);
  box-shadow: none !important;
  font-size: 14px;
}

.pz-search-shell .form-control::placeholder{
  color: #8a8a85;
}

.pz-search-submit{
  align-self: stretch;
  min-width: 94px;
  border: 0;
  border-left: 1px solid var(--pz-line);
  border-radius: 0 calc(var(--pz-radius) - 1px)
    calc(var(--pz-radius) - 1px) 0;
  background: var(--pz-blue);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  transition: background .18s ease;
}

.pz-search-submit:hover,
.pz-search-submit:focus{
  background: var(--pz-blue-dark);
}

.pz-desktop-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
}

.pz-action-card{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--pz-text) !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.pz-action-icon{
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--pz-text);
  font-size: 23px;
  flex: 0 0 auto;
}

.pz-action-whatsapp .pz-action-icon{
  color: var(--pz-green);
}

.pz-action-copy{
  display: flex;
  flex-direction: column;
  line-height: 1.22;
}

.pz-action-copy small{
  color: var(--pz-muted);
  font-size: 10px;
  font-weight: 500;
}

.pz-action-copy strong{
  color: var(--pz-text);
  font-size: 12px;
  font-weight: 700;
}

.pz-action-card:hover .pz-action-icon,
.pz-action-card:hover .pz-action-copy strong{
  color: var(--pz-blue);
}

.pz-action-card:hover .pz-action-copy strong{
  text-decoration: none;
}

/* Cart badges */

.pz-cart-badge{
  position: absolute;
  top: -5px;
  right: -7px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 2px solid #fff;
  background: var(--pz-blue);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}

/* Desktop nav */

.pz-desktop-nav{
  background: var(--pz-white);
  border-bottom: 1px solid var(--pz-line);
}

.pz-desktop-nav-inner{
  min-height: 50px;
  display: grid;
  grid-template-columns: 220px 1fr auto;
  align-items: stretch;
  gap: 64px;
}

.pz-category-dropdown{
  position: relative;
  display: flex;
  align-items: center;
}

.pz-category-button{
  width: 100%;
  height: 38px;
  margin-block: 6px;
  padding: 0 14px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  border: 1px solid #111111;
  border-radius: 8px;
  background: var(--pz-blue);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
}

.pz-category-button:hover,
.pz-category-button[aria-expanded="true"]{
  background: var(--pz-blue-dark);
  border-color: #000;
}

.pz-category-button .bi-chevron-down{
  font-size: 11px;
  transition: transform .18s ease;
}

.pz-category-button[aria-expanded="true"]
.bi-chevron-down{
  transform: rotate(180deg);
}

.pz-primary-nav{
  display:flex;
  align-items:stretch;
  justify-content:flex-start;
  gap:clamp(28px, 2.6vw, 46px);
  min-width:0;
}

.pz-primary-nav > a{
  position: relative;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  color: #4f4f4b !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.pz-primary-nav > a::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--pz-blue);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}

.pz-primary-nav > a:hover,
.pz-primary-nav > a.active{
  color: var(--pz-blue) !important;
}

.pz-primary-nav > a:hover::after,
.pz-primary-nav > a.active::after{
  transform: scaleX(1);
}

.pz-nav-support{
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  color: var(--pz-blue-dark) !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

/* Premium category mega dropdown */

.pz-category-menu{
  width: min(980px, calc(100vw - 40px));
  margin-top: 6px !important;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--pz-line);
  border-radius: 12px;
  background: var(--pz-white);
  box-shadow: var(--pz-shadow);
}

.pz-category-menu-head{
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--pz-line);
  background: linear-gradient(135deg, var(--pz-blue-soft) 0%, #ffffff 100%);
}

.pz-category-menu-head > div{
  display: flex;
  flex-direction: column;
}

.pz-category-menu-head small{
  color: var(--pz-muted);
  font-size: 11px;
}

.pz-category-menu-head strong{
  color: var(--pz-text);
  font-size: 18px;
}

.pz-category-menu-head > a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--pz-text) !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 700;
}

.pz-category-grid{
  padding: 20px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px 28px;
  max-height: 540px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.pz-category-group{
  min-width: 0;
}

.pz-category-group-title{
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  color: var(--pz-text) !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 700;
}

.pz-category-group-title img,
.pz-category-placeholder{
  width: 42px;
  height: 42px;
  border-radius: 8px;
  border: 1px solid var(--pz-blue-border);
  background: var(--pz-blue-softer);
  object-fit: cover;
}

.pz-category-placeholder{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8a8a85;
  font-size: 17px;
}

.pz-category-group-title > span{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pz-category-group-title > .bi-arrow-up-right{
  color: var(--pz-blue);
  font-size: 12px;
}

.pz-category-group-title:hover > span{
  color: var(--pz-blue);
  text-decoration: none;
}

.pz-category-child-links{
  margin: 10px 0 0 52px;
  display: grid;
  gap: 5px;
}

.pz-category-child-links a{
  color: var(--pz-muted) !important;
  text-decoration: none !important;
  font-size: 12px;
  line-height: 1.35;
}

.pz-category-child-links a:hover{
  color: var(--pz-blue) !important;
  text-decoration: none !important;
}

.pz-category-empty{
  padding: 38px 20px;
  color: var(--pz-muted);
  text-align: center;
}

/* Search suggestion dropdown */

.pz-search-shell .ps-suggest,
.pz-desktop-search .ps-suggest,
.pz-mobile-search .ps-suggest,
.pz-mobile-menu-search .ps-suggest{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 2400;
  max-height: min(460px, 70vh);
  padding: 8px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--pz-line);
  border-radius: 12px;
  background: var(--pz-white);
  box-shadow: var(--pz-shadow);
}

.pz-search-shell .ps-suggest .item,
.pz-desktop-search .ps-suggest .item,
.pz-mobile-search .ps-suggest .item,
.pz-mobile-menu-search .ps-suggest .item{
  min-width: 0;
  padding: 9px;
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  border: 0;
  border-radius: 8px;
  color: var(--pz-text) !important;
  text-decoration: none !important;
}

.pz-search-shell .ps-suggest .item:hover,
.pz-search-shell .ps-suggest .item.active,
.pz-desktop-search .ps-suggest .item:hover,
.pz-desktop-search .ps-suggest .item.active,
.pz-mobile-search .ps-suggest .item:hover,
.pz-mobile-search .ps-suggest .item.active,
.pz-mobile-menu-search .ps-suggest .item:hover,
.pz-mobile-menu-search .ps-suggest .item.active{
  background: var(--pz-blue-soft);
}

.pz-search-shell .ps-suggest .ps-sg-thumb,
.pz-search-shell .ps-suggest img{
  width: 54px;
  height: 54px;
  border-radius: 8px;
  border: 1px solid var(--pz-line);
  background: var(--pz-white);
  object-fit: contain;
}

.pz-search-shell .ps-suggest .name{
  min-width: 0;
  color: var(--pz-text);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  white-space: normal;
}

.pz-search-shell .ps-suggest .price{
  margin-left: 0;
  color: var(--pz-blue);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.pz-search-shell .ps-suggest .empty,
.pz-search-shell .ps-suggest .loading{
  padding: 18px;
  color: var(--pz-muted);
  font-size: 13px;
  text-align: center;
}

/* Mobile header */

.pz-mobile-header{
  position: relative;
  background: var(--pz-white);
  border-bottom: 1px solid var(--pz-line);
}

.pz-mobile-main-row{
  min-height: 62px;
  padding: 8px 14px;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
}

.pz-mobile-icon{
  width: 42px;
  height: 42px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--pz-text) !important;
  text-decoration: none !important;
  font-size: 22px;
}

.pz-mobile-icon:hover,
.pz-mobile-icon:focus-visible{
  background: var(--pz-blue-soft);
  color: var(--pz-blue) !important;
}

.pz-mobile-logo{
  min-width: 0;
  display: flex;
  justify-content: center;
  text-decoration: none !important;
}

.pz-mobile-logo img{
  display: block;
  width: auto;
  max-width: min(180px, 100%);
  height: 42px;
  object-fit: contain;
}

.pz-mobile-actions{
  display: flex;
  align-items: center;
}

.pz-mobile-search{
  padding: 0 14px 12px;
}

.pz-mobile-search .pz-search-shell{
  border-radius: 9px;
  background: var(--pz-blue-softer);
  border-color: #e7e7e3;
}

.pz-mobile-search .form-control{
  min-height: 44px;
  padding-right: 48px;
}

.pz-mobile-search-button{
  position: absolute;
  right: 5px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 7px;
  background: var(--pz-blue);
  color: #fff;
}

/* Mobile offcanvas */

.pz-mobile-menu{
  width: min(390px, 92vw) !important;
  z-index: 2100 !important;
  border-right: 0;
}

.pz-mobile-menu .offcanvas-header{
  min-height: 66px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--pz-line);
}

.pz-mobile-menu .offcanvas-body{
  padding: 16px;
}

.pz-mobile-menu-brand{
  display: inline-flex;
  text-decoration: none !important;
}

.pz-mobile-menu-brand img{
  display: block;
  max-width: 180px;
  height: 40px;
  object-fit: contain;
  object-position: left center;
}

.pz-mobile-menu-search{
  margin-bottom: 20px;
}

.pz-mobile-menu-search .pz-search-shell{
  background: var(--pz-blue-softer);
  border-color: #e7e7e3;
}

.pz-mobile-section-title{
  margin-bottom: 8px;
  color: #8a8a85;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pz-mobile-links{
  display: grid;
}

.pz-mobile-links > a{
  min-height: 46px;
  display: grid;
  grid-template-columns: 26px 1fr;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #ecece8;
  color: var(--pz-text) !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 600;
}

.pz-mobile-links > a i{
  color: #8a8a85;
  font-size: 17px;
}

.pz-mobile-links > a:hover,
.pz-mobile-links > a:focus-visible{
  color: var(--pz-blue) !important;
}

.pz-mobile-links > a:hover i,
.pz-mobile-links > a:focus-visible i{
  color: var(--pz-blue);
}

.pz-mobile-categories{
  --bs-accordion-border-color: #e7e7e3;
  --bs-accordion-btn-focus-box-shadow: none;
}

.pz-mobile-categories .accordion-button{
  min-height: 48px;
  padding: 11px 0;
  background: transparent !important;
  color: var(--pz-text);
  font-size: 14px;
  font-weight: 600;
  box-shadow: none !important;
}

.pz-mobile-categories .accordion-button::after{
  width: 14px;
  height: 14px;
  background-size: 14px;
}

.pz-mobile-categories .accordion-body{
  padding: 4px 0 12px 18px;
  display: grid;
  gap: 8px;
}

.pz-mobile-categories .accordion-body a{
  color: var(--pz-muted) !important;
  text-decoration: none !important;
  font-size: 13px;
}

.pz-mobile-category-all{
  color: var(--pz-blue) !important;
  font-weight: 700;
}

.pz-mobile-categories .accordion-button:not(.collapsed){
  color: var(--pz-blue);
}

.pz-mobile-category-single{
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--pz-text) !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 600;
}

.pz-mobile-whatsapp{
  margin-top: 22px;
  padding: 13px;
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 10px;
  border: 1px solid #d8f0df;
  border-radius: 10px;
  background: #f2fbf5;
  color: #176b37 !important;
  text-decoration: none !important;
}

.pz-mobile-whatsapp > i{
  font-size: 25px;
}

.pz-mobile-whatsapp > span{
  display: flex;
  flex-direction: column;
  font-size: 12px;
}

.pz-mobile-whatsapp strong{
  font-size: 13px;
}

/* Offcanvas layers */

.offcanvas-backdrop{
  z-index: 2050 !important;
  background: rgba(0,0,0,.46) !important;
}

#cartDrawer{
  z-index: 2110 !important;
}

.cart-drawer{
  width: min(440px, 94vw) !important;
}


/* Monochrome interaction details */

.pz-category-menu-head > a,
.pz-category-group-title > .bi-arrow-up-right{
  color: var(--pz-blue) !important;
}

.pz-category-menu-head > a:hover,
.pz-nav-support:hover{
  color: var(--pz-blue-hover) !important;
}

.pz-category-placeholder{
  color: var(--pz-blue);
}

.pz-search-submit:focus-visible,
.pz-mobile-search-button:focus-visible,
.pz-category-button:focus-visible,
.pz-mobile-icon:focus-visible,
.pz-action-card:focus-visible,
.pz-primary-nav > a:focus-visible{
  outline: 0;
  box-shadow: var(--pz-focus);
}

.pz-primary-nav > a:hover,
.pz-primary-nav > a.active,
.pz-primary-nav > a:focus-visible{
  color: var(--pz-blue) !important;
}

.pz-search-shell .ps-suggest .price,
.pz-desktop-search .ps-suggest .price,
.pz-mobile-search .ps-suggest .price,
.pz-mobile-menu-search .ps-suggest .price{
  color: var(--pz-blue);
}

.pz-mobile-header{
  box-shadow: 0 4px 16px rgba(0,0,0,.04);
}

/* Responsive desktop */

@media (max-width: 1250px){
  .pz-desktop-main-inner{
    grid-template-columns: 180px minmax(300px,1fr) auto;
    gap: 20px;
  }

  .pz-desktop-logo{
    max-width: 180px;
  }

  .pz-desktop-logo img{
    height: 52px;
  }

  .pz-desktop-actions{
    gap: 10px;
  }

  .pz-action-copy{
    display: none;
  }

  .pz-action-icon{
    width: 42px;
    height: 42px;
  }

  .pz-desktop-nav-inner{
    grid-template-columns: 190px 1fr auto;
  }

  .pz-primary-nav{
    gap: 18px;
  }
}

@media (max-width: 1050px){
  .pz-header-container{
    width: min(
      calc(100% - 28px),
      var(--pz-header-max)
    );
  }

  .pz-desktop-main-inner{
    grid-template-columns: 160px minmax(260px,1fr) auto;
  }

  .pz-nav-support{
    display: none;
  }

  .pz-desktop-nav-inner{
    grid-template-columns: 180px 1fr;
  }

  .pz-primary-nav{
    justify-content: space-between;
    gap: 10px;
  }
}

/* Search suggestions on mobile */

@media (max-width: 991.98px){
  .pz-search-shell .form-control{
    font-size: 16px;
  }

  .pz-search-shell .ps-suggest,
  .pz-mobile-search .ps-suggest,
  .pz-mobile-menu-search .ps-suggest{
    top: calc(100% + 6px);
    max-height: min(420px, 62vh);
  }

  .pz-mobile-menu-search .ps-suggest{
    position: relative;
    top: 8px;
    max-height: 360px;
    margin-bottom: 8px;
    box-shadow: none;
  }

  .pz-search-shell .ps-suggest .item{
    grid-template-columns: 48px minmax(0,1fr);
  }

  .pz-search-shell .ps-suggest .price{
    grid-column: 2;
    margin-top: -6px;
  }

  .pz-search-shell .ps-suggest .ps-sg-thumb,
  .pz-search-shell .ps-suggest img{
    width: 48px;
    height: 48px;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 575.98px){
  .pz-mobile-main-row{
    padding-inline: 10px;
  }

  .pz-mobile-search{
    padding-inline: 10px;
  }

  .pz-mobile-logo img{
    max-width: 145px;
    height: 38px;
  }

  .pz-mobile-icon{
    width: 38px;
    height: 38px;
  }
}

/* Accessibility */

@media (prefers-reduced-motion: reduce){
  .pz-header *,
  .pz-header *::before,
  .pz-header *::after{
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* --- VERTICAL DROPDOWN LAYOUT --- */
.pz-vertical-dropdown {
    position: relative;
}

/* Base dropdown box */
.pz-vertical-menu {
    width: 300px;
    padding: 0;
    border-radius: var(--ps-radius-sm, 8px);
    border: 1px solid var(--ps-border-soft);
    background: var(--ps-card);
    box-shadow: var(--ps-shadow-float);
    overflow: visible; /* Must be visible to allow flyout to escape */
}

/* Restrict height and make it scrollable */
.pz-vertical-list {
    list-style: none;
    margin: 0;
    padding: 10px 0;
    max-height: 60vh; /* Scales to screen height */
    overflow-y: auto;
    overflow-x: hidden;
}

/* Custom slick scrollbar */
.pz-vertical-list::-webkit-scrollbar {
    width: 5px;
}
.pz-vertical-list::-webkit-scrollbar-thumb {
    background-color: var(--ps-border-soft);
    border-radius: var(--ps-radius-pill);
}

.pz-vertical-item {
    position: relative;
}

.pz-vertical-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    color: var(--ps-text);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

/* Updated hover state using your theme's soft primary background */
.pz-vertical-link:hover {
    background-color: var(--ps-primary-soft);
    color: var(--ps-primary);
}

.pz-cat-link-left {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* Format the uploaded images */
.pz-cat-icon-img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.pz-cat-placeholder {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ps-muted);
}

.pz-cat-name {
    font-size: 0.95rem;
    font-weight: 500;
}

.pz-cat-arrow {
    font-size: 0.75rem;
    color: var(--ps-muted);
}

/* --- THE FLYOUT MENU --- */
.pz-flyout {
    position: absolute;
    left: 100%;
    top: 0;
    width: 280px;
    background: var(--ps-card);
    border: 1px solid var(--ps-border-soft);
    border-radius: var(--ps-radius-sm, 8px);
    padding: 10px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    transition: all 0.2s ease;
    box-shadow: var(--ps-shadow-float);
    z-index: 1000;
    max-height: 60vh;
    overflow-y: auto;
}

/* Add custom scrollbar to the flyout as well */
.pz-flyout::-webkit-scrollbar {
    width: 5px;
}
.pz-flyout::-webkit-scrollbar-thumb {
    background-color: var(--ps-border-soft);
    border-radius: var(--ps-radius-pill);
}

.pz-vertical-item.has-flyout:hover .pz-flyout {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.pz-flyout-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pz-flyout-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 24px;
    color: var(--ps-text);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: background 0.2s ease, color 0.2s ease;
}

.pz-flyout-list a:hover {
    color: var(--ps-primary);
    background-color: var(--ps-primary-soft);
}

.pz-flyout-list a i {
    font-size: 0.75rem;
    color: var(--ps-muted);
}

.pz-flyout-view-all {
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px solid var(--ps-border-soft);
}
.pz-flyout-view-all a {
    color: var(--ps-primary);
    justify-content: flex-start;
    gap: 10px;
}
.pz-flyout-view-all a i:last-child {
    margin-left: auto;
}

/* --- FOOTER VIEW ALL BUTTON --- */
.pz-vertical-footer {
    padding: 15px;
    border-top: 1px solid var(--ps-border-soft);
}

.btn-view-all-cats {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 20px;
    /* Uses your dark text color to create the dark navy button */
    background: var(--ps-text); 
    color: var(--ps-bg);
    border-radius: var(--ps-radius-sm, 8px);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.85rem;
    transition: background 0.2s ease;
}

.btn-view-all-cats:hover {
    /* Lights up using your primary blue brand color on hover */
    background: var(--ps-primary); 
    color: var(--ps-bg);
}

/* =========================================================
   HERO — RESPONSIVE FIX (FULL SCREEN IMAGE, NO GAPS)
   ========================================================= */

.ps-hero-section {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  margin-bottom: clamp(24px, 4vw, 52px);
  overflow: hidden;
  background: transparent; /* Changed from blue so no gaps show */
}

.ps-hero-section .carousel,
.ps-hero-section .carousel-inner,
.ps-hero-section .carousel-item {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
}

/* Let the slide height be determined naturally by the image */
.ps-hero-slide {
  position: relative;
  width: 100%;
  height: auto !important; /* Removes the forced height causing empty space */
  overflow: hidden;
  display: flex; /* Removes inline-block bottom spacing */
}

.ps-hero-image {
  display: block;
  width: 100%;
  height: auto !important; /* Forces image to keep its natural aspect ratio */
  max-height: 600px; /* Prevents desktop from getting too tall */
  object-fit: cover;
  object-position: center;
  transform: none !important;
  animation: none !important;
}

/* Desktop buttons */
.ps-hero-actions-wrap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(15px, 3vw, 40px);
  z-index: 4;
  pointer-events: none;
}

.ps-hero-actions {
  width: min(calc(100% - 146px), 1480px);
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  pointer-events: auto;
}

.ps-hero-button {
  min-height: 46px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
}

.ps-hero-button-primary {
  background: var(--ps-primary, #111111);
  border-color: var(--ps-primary, #111111);
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}

.ps-hero-button-primary:hover,
.ps-hero-button-primary:focus {
  background: var(--ps-primary-dark, #000000);
  border-color: var(--ps-primary-dark, #000000);
  color: #fff !important;
}

/* Carousel Controls */
.ps-hero-control {
  top: 50%;
  bottom: auto;
  width: 42px;
  height: 42px;
  margin-top: -21px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--ps-primary, #111111);
  opacity: 0;
  box-shadow: 0 10px 25px rgba(0,0,0,.10);
  transition: opacity 0.2s ease;
}

.ps-hero-control.carousel-control-prev {
  left: 16px;
}

.ps-hero-control.carousel-control-next {
  right: 16px;
}

.ps-hero-section:hover .ps-hero-control,
.ps-hero-control:focus-visible {
  opacity: 1;
}

/* =========================================================
   RESPONSIVE BREAKPOINTS (FIXED FOR MOBILE)
   ========================================================= */

/* Laptop */
@media (max-width: 1199.98px) {
  .ps-hero-actions {
    width: calc(100% - 64px);
  }
  .ps-hero-button {
    min-height: 42px;
    padding-inline: 15px;
    font-size: 12px;
  }
}

/* Tablet */
@media (max-width: 991.98px) {
  .ps-hero-actions {
    width: calc(100% - 48px);
  }
}

/* Mobile */
@media (max-width: 767.98px) {
  /* Button wrapper adjusted to sit nicely over the scaling image */
  .ps-hero-actions-wrap {
    bottom: 8px; 
  }
  
  .ps-hero-actions {
    width: calc(100% - 30px);
    gap: 6px;
    justify-content: flex-start; /* Keeps the button left-aligned like in your screenshot */
  }
  
  .ps-hero-button {
    min-height: 32px;
    padding: 0 12px;
    font-size: 11px;
    gap: 6px;
    border-radius: 6px;
  }

  .ps-hero-control {
    width: 32px;
    height: 32px;
    margin-top: -16px;
    opacity: 0.85; /* Ensures arrows are always visible on touch screens */
  }
  
  .ps-hero-control.carousel-control-prev {
    left: 8px;
  }
  
  .ps-hero-control.carousel-control-next {
    right: 8px;
  }
}

/* Small Mobile */
@media (max-width: 575.98px) {
  .ps-hero-actions {
    width: calc(100% - 20px);
  }
  
  .ps-hero-button {
    min-height: 28px;
    padding: 0 10px;
    font-size: 10px;
    border-radius: 5px;
  }
}

/* =========================================================
   CART DRAWER — PREMIUM ELECTRONICS THEME
   Scoped to #cartDrawer only.
   Header / navigation styles are intentionally untouched.
   ========================================================= */

#cartDrawer{
  z-index:2110 !important;
  width:min(430px, 94vw) !important;
  max-width:100vw;
  border-left:1px solid var(--pz-line, #e7e7e3);
  background:#fff;
  color:var(--pz-text, #111111);
  box-shadow:-18px 0 48px rgba(0,0,0,.12);
}

/* Drawer header */

#cartDrawer .offcanvas-header{
  min-height:70px;
  padding:15px 17px;
  border-bottom:1px solid var(--pz-line, #e7e7e3) !important;
  background:
    linear-gradient(
      180deg,
      var(--pz-blue-softer, #fafaf8) 0%,
      #ffffff 100%
    );
}

#cartDrawer .offcanvas-title{
  margin:0;
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--pz-text, #111111);
  font-size:1rem;
  font-weight:800;
  letter-spacing:-.01em;
}

#cartDrawer .offcanvas-title::before{
  content:"\F244";
  font-family:"bootstrap-icons";
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--pz-blue-border, #d8d8d3);
  border-radius:9px;
  background:var(--pz-blue-soft, #f5f5f3);
  color:var(--pz-blue, #111111);
  font-size:.92rem;
  font-weight:400;
}

#cartDrawer .offcanvas-title [data-cart-count]{
  min-width:22px;
  height:22px;
  margin-left:1px !important;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px !important;
  background:var(--pz-blue, #111111) !important;
  color:#fff !important;
  font-size:.58rem;
  font-weight:850;
  line-height:1;
}

#cartDrawer .btn-close{
  width:36px;
  height:36px;
  margin:0;
  padding:0;
  border:1px solid var(--pz-line, #e7e7e3);
  border-radius:9px;
  background-color:#fff;
  background-size:11px;
  opacity:1;
  box-shadow:none !important;
}

#cartDrawer .btn-close:hover,
#cartDrawer .btn-close:focus{
  border-color:var(--pz-blue-border, #d8d8d3);
  background-color:var(--pz-blue-soft, #f5f5f3);
}

/* Drawer body */

#cartDrawer .offcanvas-body{
  min-height:0;
  overflow:hidden;
  background:#fff;
}

#cartDrawer .cart-drawer-inner{
  height:100%;
  min-height:0;
  background:#fff;
}

/* Loading state */

#cartDrawer .cart-drawer-inner > .text-center{
  min-height:180px;
  padding:42px 20px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--pz-muted, #6f6f6b) !important;
  background:
    radial-gradient(
      circle at 50% 20%,
      var(--pz-blue-soft, #f5f5f3),
      transparent 38%
    ),
    #fff;
}

/* Mini cart layout returned by cart.php?mini=1 */

#cartDrawer .cart-mini{
  min-height:100%;
  height:100%;
  background:#fff;
}

#cartDrawer .cart-mini-items{
  min-height:0;
  padding:5px 13px 12px;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:
    var(--pz-blue-border, #d8d8d3)
    transparent;
}

#cartDrawer .cart-mini-items::-webkit-scrollbar{
  width:6px;
}

#cartDrawer .cart-mini-items::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:var(--pz-blue-border, #d8d8d3);
}

/* Empty cart */

#cartDrawer .cart-mini-items > .p-4.text-center{
  min-height:300px;
  margin:8px 0;
  padding:36px 22px !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px dashed var(--pz-blue-border, #d8d8d3);
  border-radius:12px;
  background:var(--pz-blue-softer, #fafaf8);
  color:var(--pz-muted, #6f6f6b) !important;
  font-size:.74rem !important;
  font-weight:650;
  line-height:1.55;
}

#cartDrawer .cart-mini-items > .p-4.text-center::before{
  content:"\F244";
  font-family:"bootstrap-icons";
  width:58px;
  height:58px;
  margin-bottom:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--pz-blue-border, #d8d8d3);
  border-radius:999px;
  background:#fff;
  color:var(--pz-blue, #111111);
  font-size:1.25rem;
}

/* Product line */

#cartDrawer .cart-mini-line{
  position:relative;
  margin-top:8px;
  padding:12px !important;
  gap:11px;
  align-items:center;
  border:1px solid var(--pz-line, #e7e7e3) !important;
  border-radius:10px;
  background:#fff;
  transition:
    border-color .16s ease,
    box-shadow .16s ease;
}

#cartDrawer .cart-mini-line:hover{
  border-color:var(--pz-blue-border, #d8d8d3) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.04);
}

#cartDrawer .cart-mini-line .flex-shrink-0{
  margin-right:0 !important;
}

#cartDrawer .cart-mini-line img{
  width:74px !important;
  height:74px !important;
  padding:5px;
  display:block;
  border:1px solid var(--pz-line, #e7e7e3);
  border-radius:8px !important;
  background:var(--pz-blue-softer, #fafaf8);
  object-fit:contain !important;
  object-position:center;
}

#cartDrawer .cart-mini-line .flex-grow-1{
  min-width:0 !important;
}

/* Product name:
   current mini response uses .fw-semibold.small.mb-1 as first title */
#cartDrawer .cart-mini-line .flex-grow-1 > .fw-semibold.small.mb-1{
  margin-bottom:5px !important;
  color:var(--pz-text, #111111);
  font-size:.72rem !important;
  font-weight:750 !important;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Variant text */

#cartDrawer .cart-mini-line .flex-grow-1 > .small.text-muted.mb-1{
  margin-bottom:6px !important;
  color:var(--pz-muted, #6f6f6b) !important;
  font-size:.58rem !important;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Quantity + line total row */

#cartDrawer .cart-mini-line .d-flex.align-items-center.justify-content-between.small{
  gap:10px;
  font-size:.64rem !important;
}

#cartDrawer .cart-mini-line .d-flex.align-items-center.justify-content-between.small .text-muted{
  min-height:24px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  border:1px solid var(--pz-line, #e7e7e3);
  border-radius:999px;
  background:#fafaf8;
  color:var(--pz-muted, #6f6f6b) !important;
  font-size:.56rem;
  font-weight:700;
  white-space:nowrap;
}

#cartDrawer .cart-mini-line .d-flex.align-items-center.justify-content-between.small .fw-semibold{
  color:var(--pz-blue, #111111);
  font-size:.72rem;
  font-weight:850 !important;
  white-space:nowrap;
}

/* Wholesale label */

#cartDrawer .cart-mini-line .text-success{
  width:max-content;
  max-width:100%;
  margin-top:6px !important;
  padding:4px 7px;
  border:1px solid var(--pz-blue-border, #d8d8d3);
  border-radius:999px;
  background:var(--pz-blue-soft, #f5f5f3);
  color:var(--pz-blue-dark, #000000) !important;
  font-size:.51rem !important;
  font-weight:850 !important;
  line-height:1;
  text-transform:uppercase;
}

/* Sticky footer */

#cartDrawer .cart-mini-footer{
  position:relative;
  flex:0 0 auto;
  padding:15px 16px calc(15px + env(safe-area-inset-bottom)) !important;
  border-top:1px solid var(--pz-line, #e7e7e3) !important;
  background:#fff;
  box-shadow:0 -12px 28px rgba(0,0,0,.04);
}

/* Subtotal row */

#cartDrawer .cart-mini-footer > .d-flex.justify-content-between.mb-2{
  min-height:52px;
  margin-bottom:11px !important;
  padding:10px 11px;
  align-items:center;
  border:1px solid var(--pz-blue-border, #d8d8d3);
  border-radius:9px;
  background:var(--pz-blue-softer, #fafaf8);
}

#cartDrawer .cart-mini-footer > .d-flex.justify-content-between.mb-2 .fw-semibold{
  color:var(--pz-text, #111111);
  font-size:.68rem !important;
  font-weight:750 !important;
}

#cartDrawer .cart-mini-footer > .d-flex.justify-content-between.mb-2 .fw-bold{
  color:var(--pz-blue, #111111);
  font-size:.93rem;
  font-weight:850 !important;
}

/* Checkout */

#cartDrawer .cart-mini-footer .btn-primary{
  min-height:44px;
  margin-bottom:8px !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--pz-blue, #111111) !important;
  border-radius:8px;
  background:var(--pz-blue, #111111) !important;
  color:#fff !important;
  font-size:.72rem;
  font-weight:800;
  box-shadow:0 9px 20px rgba(0,0,0,.11);
}

#cartDrawer .cart-mini-footer .btn-primary:hover,
#cartDrawer .cart-mini-footer .btn-primary:focus{
  border-color:var(--pz-blue-dark, #000000) !important;
  background:var(--pz-blue-dark, #000000) !important;
  color:#fff !important;
}

#cartDrawer .cart-mini-footer .btn-primary.disabled{
  border-color:#deded9 !important;
  background:#f2f2ef !important;
  color:#999994 !important;
  box-shadow:none;
  opacity:1;
}

/* View full cart */

#cartDrawer .cart-mini-footer .btn-outline-secondary{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--pz-blue-border, #d8d8d3) !important;
  border-radius:8px;
  background:#fff !important;
  color:var(--pz-blue, #111111) !important;
  font-size:.69rem;
  font-weight:800;
}

#cartDrawer .cart-mini-footer .btn-outline-secondary:hover,
#cartDrawer .cart-mini-footer .btn-outline-secondary:focus{
  border-color:var(--pz-blue, #111111) !important;
  background:var(--pz-blue-soft, #f5f5f3) !important;
  color:var(--pz-blue-dark, #000000) !important;
}

/* Focus states inside drawer only */

#cartDrawer a:focus-visible,
#cartDrawer button:focus-visible{
  outline:0;
  box-shadow:var(--pz-focus, 0 0 0 3px rgba(17,17,17,.10));
}

/* Mobile */

@media(max-width:575.98px){
  #cartDrawer{
    width:min(390px, 96vw) !important;
  }

  #cartDrawer .offcanvas-header{
    min-height:62px;
    padding:11px 13px;
  }

  #cartDrawer .offcanvas-title::before{
    width:31px;
    height:31px;
    border-radius:8px;
    font-size:.84rem;
  }

  #cartDrawer .btn-close{
    width:33px;
    height:33px;
  }

  #cartDrawer .cart-mini-items{
    padding:4px 9px 9px;
  }

  #cartDrawer .cart-mini-line{
    margin-top:7px;
    padding:10px !important;
    gap:9px;
  }

  #cartDrawer .cart-mini-line img{
    width:66px !important;
    height:66px !important;
    padding:4px;
  }

  #cartDrawer .cart-mini-line .flex-grow-1 > .fw-semibold.small.mb-1{
    font-size:.67rem !important;
  }

  #cartDrawer .cart-mini-footer{
    padding:
      12px
      12px
      calc(12px + env(safe-area-inset-bottom))
      !important;
  }

  #cartDrawer .cart-mini-footer .btn-primary,
  #cartDrawer .cart-mini-footer .btn-outline-secondary{
    min-height:42px;
  }
}

@media(prefers-reduced-motion:reduce){
  #cartDrawer *,
  #cartDrawer *::before,
  #cartDrawer *::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
  }
}

/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767.98px){
  #heroArea,
  #heroArea.hero-full,
  .ps-hero-section,
  #heroCarouselMobile,
  #heroCarouselMobile .hero-slide-bg,
  #heroCarouselMobile .hero-slide-bg--mobile,
  #heroCarouselMobile .ps-hero-mobile-card{
    position: relative;
    left: auto;
    right: auto;
    width: 100%;
    max-width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
  }

  .ps-hero-section{
    margin-bottom: 18px;
    overflow: visible;
    background: #fff;
  }

  .ps-hero-mobile-card{
    position: relative;
    overflow: hidden;
    background: #f7f7f5;
  }

  .ps-hero-mobile-image{
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 21 / 9;
    object-fit: contain;
    object-position: center;
    background: #f7f7f5;
    transform: none !important;
    animation: none !important;
  }

  /*
   * CTA overlays the lower-left area of the banner,
   * matching the red marked area in the screenshot.
   */
  .ps-hero-mobile-overlay-button{
    position: absolute;
    left: 16px;
    bottom: 14px;
    z-index: 4;

    min-width: 118px;
    min-height: 38px;
    padding: 0 15px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    border: 1px solid var(--ps-primary, #111111);
    border-radius: 7px;

    background: var(--ps-primary, #111111);
    color: #fff !important;

    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;

    box-shadow: 0 8px 18px rgba(0,0,0,.18);
  }

  .ps-hero-mobile-overlay-button i{
    font-size: 13px;
  }

  .ps-hero-mobile-overlay-button:hover,
  .ps-hero-mobile-overlay-button:focus{
    background: var(--ps-primary-dark, #000000);
    border-color: var(--ps-primary-dark, #000000);
    color: #fff !important;
  }

  .ps-hero-mobile-indicators{
    position: static;
    width: 100%;
    min-height: 22px;
    margin: 0;
    padding-top: 5px;
    display: flex;
    justify-content: center;
    gap: 7px;
    background: #fff;
  }

  .ps-hero-mobile-indicators [data-bs-target]{
    width: 8px;
    height: 8px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: #b8b8b2;
    opacity: 1;
  }

  .ps-hero-mobile-indicators .active{
    width: 22px;
    background: var(--ps-primary, #111111);
  }

  #heroCarouselMobile .hero-slide-bg::after,
  #heroCarouselMobile .hero-slide-bg--mobile::after{
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 420px){
  .ps-hero-mobile-overlay-button{
    left: 13px;
    bottom: 12px;
    min-width: 108px;
    min-height: 36px;
    padding-inline: 13px;
    font-size: 10px;
  }
}

/* Disable all hero zoom animation */

#heroCarousel .carousel-item.active .ps-hero-image,
#heroCarouselMobile .carousel-item.active .ps-hero-mobile-image,
#heroCarousel .carousel-item.active .hero-slide-bg,
#heroCarouselMobile .carousel-item.active .hero-slide-bg--mobile{
  transform: none !important;
  animation: none !important;
}

@media (prefers-reduced-motion: reduce){
  .ps-hero-section *,
  .ps-hero-section *::before,
  .ps-hero-section *::after{
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}



/* ===============================
   TRUST BADGES
   =============================== */

.ps-trust{
  padding: 60px 0;
  background: #ffffff;
}

.trust-item{
  padding: 10px 20px;
}

.trust-item i{
  font-size: 36px;
  color: #000;
  margin-bottom: 12px;
}

.trust-item h6{
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 6px;
}

.trust-item p{
  font-size: 14px;
  color: #777773;
  margin: 0;
}

/* divider lines on desktop */
@media (min-width: 992px){
  .trust-item{
    border-right: 1px solid #e5e7eb;
  }

  .trust-item:last-child{
    border-right: none;
  }
}

/* mobile layout */
@media (max-width: 768px){
  .ps-trust{
    padding: 40px 0;
  }

  .trust-item i{
    font-size: 28px;
  }

  .trust-item h6{
    font-size: 15px;
  }

  .trust-item p{
    font-size: 13px;
  }
}


/* ============================
   PREMIUM REVIEWS (ZEE) - FIXED
   ============================ */
   
   .zee-proof .container{
  max-width: 1240px; /* premium width */
}
   
.zee-proof{
  position: relative;
  padding: 68px 0;
  background:
    radial-gradient(900px 380px at 12% 10%, rgba(2,169,237,.10), transparent 55%),
    radial-gradient(900px 380px at 88% 30%, rgba(238,2,139,.08), transparent 58%),
    linear-gradient(180deg, #ffffff 0%, #fbfbfc 100%);
}

.zee-proof-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom: 18px;
}

.zee-proof-eyebrow{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
  color:#777773;
}

.zee-proof-title{
  font-size: 32px;
  font-weight: 900;
  margin: 6px 0 4px;
  color:#0b0f18;
}

.zee-proof-sub{
  margin: 0;
  color:#777773;
  font-size: 14px;
}

/* arrows */
.zee-proof-actions{ display:flex; gap:10px; }
.zee-proof-actions-mobile{ justify-content:center; margin-top: 12px; }

.zee-proof-btn{
  width: 44px; height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.90);
  box-shadow: 0 10px 30px rgba(15,23,42,.08);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: transform .15s ease, box-shadow .2s ease;
}
.zee-proof-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(15,23,42,.12);
}

/* rail */
.zee-proof-rail{
  display:flex;
  gap: 22px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 14px 6px 22px;

  /* ✅ add soft left/right breathing space */
  scroll-padding-left: 12px;
  scroll-padding-right: 12px;
}
.zee-proof-rail::-webkit-scrollbar{ display:none; }

/* ✅ RESPONSIVE CARD WIDTH CONTROL */
.zee-proof-card{
  flex: 0 0 auto;
  scroll-snap-align: start;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 18px 50px rgba(15,23,42,.10);
  overflow:hidden;
  position: relative;

  /* Default: 3 cards on desktop */
  width: calc((100% - (22px * 2)) / 3);
  min-width: 320px; /* prevents tiny cards on large screens */
}

/* ✅ Tablet: show 2 cards */
@media (max-width: 991.98px){
  .zee-proof-card{
    width: calc((100% - 22px) / 2);
    min-width: 300px;
  }
}

/* ✅ Mobile: show 1 card (full width) */
@media (max-width: 575.98px){
  .zee-proof-rail{
    gap: 14px;
    padding-left: 12px;
    padding-right: 12px;
  }
  .zee-proof-card{
    width: calc(100% - 12px);   /* 1 card at a time */
    min-width: 0;
  }
}

/* media */
.zee-proof-media{
  padding: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f7f7f8 100%);
}

/* ✅ KEY FIX: crop like your 2nd image */
.zee-proof-media img{
  width:100%;
  height: 240px;           /* smaller = premium, not huge white space */
  border-radius: 14px;
  display:block;

  object-fit: cover;       /* ✅ crop */
  object-position: top left; /* ✅ show top area (name + review) */

  box-shadow: 0 18px 40px rgba(15,23,42,.12);
}

/* premium caption overlay */
.zee-proof-meta{
  position:absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  border-radius: 14px;
  padding: 12px 12px;
  background: rgba(15,23,42,.58);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color:#fff;
  border: 1px solid rgba(255,255,255,.12);
}

.zee-proof-stars{
  display:flex;
  gap:4px;
  font-size: 12px;
  opacity:.95;
  margin-bottom: 6px;
}

.zee-proof-caption{
  font-size: 13px;
  line-height: 1.35;
  font-weight: 600;

  display:-webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow:hidden;
}

/* make rail full width */
.zee-proof-rail{ width:100%; max-width:100%; }

/* give card a fixed height so image looks “full” */
.zee-proof-card{
  height: 320px;                /* ✅ premium card height */
  display:flex;
  align-items:stretch;
}

/* make media fill the card */
.zee-proof-media{
  width:100%;
  height:100%;
  padding: 14px;
  display:flex;
}

/* ✅ image fills like a “thumbnail crop” */
.zee-proof-media img{
  width:100%;
  height:100%;                  /* ✅ fill full card */
  object-fit: cover;            /* crop nicely */
  object-position: top left;     /* show name/top area */
  border-radius: 14px;
  display:block;
}

/* ==============================
   MOBILE GRID OVERRIDE (Reference Style)
   ============================== */
@media (max-width: 768px) {
  
  /* 1. Turn Strip into a 2-Column Grid */
  .cat-strip {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* 2 Equal Cols */
    gap: 10px !important;
    padding: 0 10px !important; /* Side padding */
    overflow: visible !important;
    white-space: normal !important;
  }

  /* 2. Reset Items to fill grid */
  .cat-item {
    flex: none !important;
    width: 100% !important;
  }

  /* 3. Card: Square & Rounded */
  .cat-card {
    height: auto !important;
    aspect-ratio: 1 / 1 !important; /* Perfect Square */
    border-radius: 12px !important; /* Rounded Corners */
    box-shadow: none !important;
  }

  /* 4. Dark Overlay for text readability */
  .cat-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.25); /* 25% Dark Overlay */
    z-index: 1;
    pointer-events: none;
  }

  /* 5. Image (Reset zoom for performance) */
  .cat-img {
    transition: none !important;
    transform: scale(1.0) !important;
  }

  /* 6. Label: Centered, White Text, No Box */
  .cat-label {
    top: 50% !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: 90%;
  }

  .cat-label span {
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5); /* Shadow to pop text */
    white-space: normal;
    line-height: 1.2;
  }
}


/* ==============================
   Benefits strip
   ============================== */

.benefits-strip{
  padding: 26px 0 20px;
  background:#ffffff;
}

.benefit-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  transition: transform .18s ease, box-shadow .18s ease;
}

/* Icon in orange circular badge */
.benefit-icon{
  width:64px;
  height:64px;
  border-radius:999px;
  border:2px solid var(--ps-primary);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:32px;                 /* icon size */
  color:var(--ps-primary);        /* match theme color */
  background:#fff;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}

.benefit-text{
  text-align:center;
}

.benefit-title{
  font-size:.9rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#111111;
}

.benefit-sub{
  font-size:.8rem;
  color:#777773;
}

/* Hover: lift + stronger orange */
.benefit-item:hover{
  transform:translateY(-3px);
}
.benefit-item:hover .benefit-icon{
  border-color:#c96e0d;
  color:#c96e0d;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}

/* mobile tweak */
@media (max-width:767.98px){
  .benefits-strip{
    padding-top:20px;
    padding-bottom:16px;
  }
}

.pd-action .btn{
    border-radius: 999px !important;
}

/* =========================================================
   LÉVORA — CLEAN PREMIUM FOOTER
   Desktop + Tablet + Centered Mobile
   ========================================================= */

.ps-footer{
    --ft-bg:#0d0d0d;
    --ft-text:#ffffff;
    --ft-muted:rgba(255,255,255,.60);
    --ft-soft:rgba(255,255,255,.08);
    --ft-line:rgba(255,255,255,.13);

    margin-top:clamp(42px,6vw,82px);

    padding:
        clamp(46px,5vw,70px)
        0
        18px;

    background:var(--ft-bg);

    color:var(--ft-text);
}


/* =========================================================
   Container
   ========================================================= */

.ps-footer-container{
    width:min(
        calc(100% - 48px),
        1460px
    );

    margin-inline:auto;
}


/* =========================================================
   Main Grid
   ========================================================= */

.ps-footer-grid{
    display:grid;

    grid-template-columns:
        minmax(260px,1.55fr)
        minmax(130px,.75fr)
        minmax(130px,.75fr)
        minmax(160px,.9fr)
        minmax(250px,1.3fr);

    gap:
        42px
        clamp(24px,3vw,46px);

    align-items:start;
}


.ps-foot-block{
    min-width:0;
}


/* =========================================================
   Titles
   ========================================================= */

.ps-foot-title{
    margin:
        0
        0
        17px;

    color:#ffffff;

    font-size:.70rem;

    font-weight:600;

    line-height:1.2;

    letter-spacing:.11em;

    text-transform:uppercase;
}


/* =========================================================
   Brand
   ========================================================= */

.ps-foot-brand{
    display:inline-flex;

    align-items:center;

    color:#ffffff !important;

    text-decoration:none !important;
}


.ps-foot-brand img{
    display:block;

    width:auto;

    max-width:190px;

    height:48px;

    object-fit:contain;

    object-position:left center;

    /*
     * Converts a black logo to white.
     * Remove this if you later use a white footer logo.
     */
    
}


.ps-foot-wordmark{
    color:#ffffff;

    font-size:1.45rem;

    font-weight:600;

    letter-spacing:.04em;
}


.ps-foot-copy{
    max-width:330px;

    margin:
        18px
        0
        0;

    color:var(--ft-muted);

    font-size:.76rem;

    font-weight:400;

    line-height:1.75;
}


/* =========================================================
   Contact
   ========================================================= */

.ps-foot-brand-contact{
    margin-top:21px !important;
}


.ps-foot-contact{
    margin:0;

    padding:0;

    display:grid;

    gap:10px;

    list-style:none;
}


.ps-foot-contact li{
    min-width:0;

    display:grid;

    grid-template-columns:
        18px
        minmax(0,1fr);

    align-items:start;

    gap:9px;

    color:var(--ft-muted);

    font-size:.72rem;

    font-weight:400;

    line-height:1.55;
}


.ps-foot-contact li > i{
    margin-top:2px;

    color:
        rgba(
            255,
            255,
            255,
            .72
        );

    font-size:.76rem;
}


.ps-foot-contact a,
.ps-foot-contact span{
    color:inherit !important;

    text-decoration:none !important;

    overflow-wrap:anywhere;
}


.ps-foot-contact a:hover{
    color:#ffffff !important;
}


/* =========================================================
   Social Icons
   ========================================================= */

.ps-foot-social{
    margin-top:21px;

    display:flex;

    flex-wrap:wrap;

    gap:8px;
}


.ps-soc{
    width:34px;

    height:34px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .22
        );

    border-radius:999px;

    background:transparent;

    color:#ffffff !important;

    text-decoration:none !important;

    font-size:.80rem;

    transition:
        background .18s ease,
        color .18s ease,
        border-color .18s ease,
        transform .18s ease;
}


.ps-soc:hover{
    border-color:#ffffff;

    background:#ffffff;

    color:#111111 !important;

    transform:translateY(-2px);
}


/* Remove old social brand colors */

.ps-soc-facebook,
.ps-soc-instagram,
.ps-soc-tiktok,
.ps-soc-youtube{
    background:transparent !important;
}


/* =========================================================
   Link Lists
   ========================================================= */

.ps-foot-list{
    margin:0;

    padding:0;

    list-style:none;
}


.ps-foot-list li{
    margin:
        0
        0
        9px;
}


.ps-foot-list a{
    position:relative;

    display:inline-block;

    color:var(--ft-muted) !important;

    font-size:.74rem;

    font-weight:400;

    line-height:1.45;

    text-decoration:none !important;

    transition:
        color .18s ease,
        transform .18s ease;
}


.ps-foot-list a:hover{
    color:#ffffff !important;

    transform:translateX(3px);
}


/* =========================================================
   Newsletter
   ========================================================= */

.ps-foot-newsletter > p{
    max-width:310px;

    margin:
        0
        0
        16px;

    color:var(--ft-muted);

    font-size:.74rem;

    line-height:1.65;
}


.ps-foot-newsletter-form{
    width:100%;

    min-height:45px;

    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        46px;

    overflow:hidden;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .26
        );

    border-radius:0;

    background:transparent;
}


.ps-foot-newsletter-form:focus-within{
    border-color:#ffffff;
}


.ps-foot-newsletter-form input{
    min-width:0;

    height:44px;

    padding:
        0
        14px;

    border:0 !important;

    border-radius:0 !important;

    background:transparent !important;

    color:#ffffff !important;

    font-family:inherit;

    font-size:.74rem;

    box-shadow:none !important;

    outline:0;
}


.ps-foot-newsletter-form input::placeholder{
    color:
        rgba(
            255,
            255,
            255,
            .48
        );
}


.ps-foot-newsletter-form button{
    width:46px;

    height:44px;

    padding:0;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    border:0;

    border-left:
        1px solid
        rgba(
            255,
            255,
            255,
            .22
        );

    border-radius:0;

    background:#ffffff;

    color:#111111;

    font-size:.86rem;

    transition:
        background .18s ease,
        color .18s ease;
}


.ps-foot-newsletter-form button:hover{
    background:#f2f2ef;

    color:#000000;
}


/* =========================================================
   Payment Methods
   ========================================================= */

.ps-foot-payments{
    margin-top:15px;

    display:flex;

    flex-wrap:wrap;

    gap:7px;
}


.ps-payment-badge{
    min-width:61px;

    height:28px;

    padding:
        0
        8px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:4px;

    border-radius:3px;

    background:#ffffff;

    color:#111111;

    font-size:.57rem;

    font-weight:700;

    line-height:1;
}


.ps-payment-visa{
    color:#18479e;

    font-size:.76rem;

    font-style:italic;
}


.ps-payment-mastercard{
    font-size:.46rem;
}


.ps-mastercard-circles{
    position:relative;

    width:23px;

    height:14px;

    display:inline-block;
}


.ps-mastercard-circles i{
    position:absolute;

    top:1px;

    width:13px;

    height:13px;

    border-radius:999px;
}


.ps-mastercard-circles i:first-child{
    left:0;

    background:#eb001b;
}


.ps-mastercard-circles i:last-child{
    right:0;

    background:#f79e1b;

    opacity:.90;
}


.ps-payment-cod{
    flex-direction:column;

    gap:1px;

    font-size:.62rem;
}


.ps-payment-cod small{
    font-size:.35rem;

    font-weight:600;
}


/* =========================================================
   Newsletter Alerts
   ========================================================= */

.ps-newsletter-alert{
    margin-bottom:11px;

    padding:
        9px
        10px;

    border-radius:0;

    font-size:.66rem;

    line-height:1.45;
}


.ps-newsletter-alert-success{
    border:
        1px solid
        rgba(
            74,
            222,
            128,
            .28
        );

    background:
        rgba(
            34,
            197,
            94,
            .14
        );

    color:#d9ffe5;
}


.ps-newsletter-alert-error{
    border:
        1px solid
        rgba(
            248,
            113,
            113,
            .28
        );

    background:
        rgba(
            239,
            68,
            68,
            .14
        );

    color:#ffe1e1;
}


/* =========================================================
   Bottom Bar
   ========================================================= */

.ps-foot-divider{
    margin:
        38px
        0
        16px;

    border-top:
        1px solid
        var(--ft-line);
}


.ps-foot-bottom{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    color:
        rgba(
            255,
            255,
            255,
            .48
        );

    font-size:.66rem;

    line-height:1.45;
}


.ps-foot-bottom-links{
    display:flex;

    align-items:center;

    gap:18px;
}


.ps-foot-bottom-links a{
    color:
        rgba(
            255,
            255,
            255,
            .58
        ) !important;

    text-decoration:none !important;
}


.ps-foot-bottom-links a:hover{
    color:#ffffff !important;
}


/* =========================================================
   LARGE TABLET / SMALL DESKTOP
   ========================================================= */

@media(
    max-width:1199.98px
){

    .ps-footer-grid{
        grid-template-columns:
            minmax(250px,1.4fr)
            repeat(
                3,
                minmax(130px,.8fr)
            );
    }


    .ps-foot-newsletter{
        grid-column:
            2
            / -1;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media(
    max-width:991.98px
){

    .ps-footer{
        margin-top:48px;

        padding-top:48px;
    }


    .ps-footer-grid{
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );

        gap:
            34px
            28px;
    }


    .ps-foot-brandblock,
    .ps-foot-newsletter{
        grid-column:
            1
            / -1;
    }


    .ps-foot-copy{
        max-width:560px;
    }


    .ps-foot-newsletter > p{
        max-width:500px;
    }


    .ps-foot-newsletter-form{
        max-width:520px;
    }

}


/* =========================================================
   MOBILE — CENTERED PREMIUM UI
   ========================================================= */

@media(
    max-width:575.98px
){

    .ps-footer{
        margin-top:38px;

        padding:
            42px
            0
            calc(
                92px
                +
                env(
                    safe-area-inset-bottom
                )
            );

        text-align:center;
    }


    .ps-footer-container{
        width:
            calc(
                100% - 32px
            );
    }


    /*
     * Footer order:
     *
     * 1 = Brand
     * 2 = Shop
     * 3 = Company
     * 4 = Help
     * 5 = Newsletter
     *
     * Hide Shop + Company only on mobile.
     */

    .ps-footer-grid
    > .ps-foot-block:nth-child(2),

    .ps-footer-grid
    > .ps-foot-block:nth-child(3){

        display:none;
    }


    .ps-footer-grid{
        display:grid;

        grid-template-columns:1fr;

        gap:34px;

        text-align:center;
    }


    .ps-foot-brandblock,
    .ps-foot-newsletter{
        grid-column:auto;
    }


    /* =====================================================
       Brand
       ===================================================== */

    .ps-foot-brandblock{
        display:flex;

        flex-direction:column;

        align-items:center;

        justify-content:center;
    }


    .ps-foot-brand{
        display:flex;

        justify-content:center;

        width:100%;
    }


    .ps-foot-brand img{
        max-width:170px;

        height:44px;

        margin-inline:auto;

        object-position:center;
    }


    .ps-foot-wordmark{
        text-align:center;
    }


    .ps-foot-copy{
        max-width:330px;

        margin:
            16px
            auto
            0;

        padding-inline:4px;

        color:
            rgba(
                255,
                255,
                255,
                .62
            );

        font-size:.72rem;

        line-height:1.7;

        text-align:center;
    }


    /* =====================================================
       Contact
       ===================================================== */

    .ps-foot-brand-contact{
        width:100%;

        max-width:330px;

        margin:
            20px
            auto
            0 !important;

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:11px;
    }


    .ps-foot-contact li{
        width:100%;

        display:flex;

        align-items:flex-start;
        justify-content:center;

        gap:8px;

        color:
            rgba(
                255,
                255,
                255,
                .62
            );

        font-size:.70rem;

        line-height:1.55;

        text-align:center;
    }


    .ps-foot-contact li > i{
        flex:0 0 auto;

        margin-top:2px;

        color:
            rgba(
                255,
                255,
                255,
                .72
            );
    }


    .ps-foot-contact li span,
    .ps-foot-contact li a{
        width:auto;

        max-width:270px;

        text-align:center;
    }


    /* =====================================================
       Social
       ===================================================== */

    .ps-foot-social{
        margin-top:22px;

        justify-content:center;

        gap:10px;
    }


    .ps-soc{
        width:36px;

        height:36px;
    }


    /* =====================================================
       Help section
       ===================================================== */

    .ps-footer-grid
    > .ps-foot-block:nth-child(4){

        padding:
            26px
            0
            4px;

        border-top:
            1px solid
            rgba(
                255,
                255,
                255,
                .10
            );

        text-align:center;
    }


    .ps-foot-title{
        margin-bottom:16px;

        color:#ffffff;

        font-size:.64rem;

        font-weight:600;

        letter-spacing:.13em;

        text-align:center;

        text-transform:uppercase;
    }


    .ps-foot-list{
        display:flex;

        flex-direction:column;

        align-items:center;

        justify-content:center;

        gap:2px;

        margin:0;

        padding:0;

        columns:auto;
    }


    .ps-foot-list li{
        width:100%;

        margin:0;
    }


    .ps-foot-list a{
        padding:
            5px
            0;

        color:
            rgba(
                255,
                255,
                255,
                .60
            ) !important;

        font-size:.72rem;

        line-height:1.4;

        text-align:center;
    }


    .ps-foot-list a:hover{
        color:#ffffff !important;

        transform:none;
    }


    /* =====================================================
       Newsletter
       ===================================================== */

    .ps-foot-newsletter{
        width:100%;

        padding-top:27px;

        border-top:
            1px solid
            rgba(
                255,
                255,
                255,
                .10
            );

        display:flex;

        flex-direction:column;

        align-items:center;

        text-align:center;
    }


    .ps-foot-newsletter > p{
        max-width:310px;

        margin:
            0
            auto
            17px;

        color:
            rgba(
                255,
                255,
                255,
                .60
            );

        font-size:.71rem;

        line-height:1.65;

        text-align:center;
    }


    .ps-foot-newsletter-form{
        width:100%;

        max-width:360px;

        margin-inline:auto;

        grid-template-columns:
            minmax(0,1fr)
            46px;

        border-color:
            rgba(
                255,
                255,
                255,
                .28
            );
    }


    .ps-foot-newsletter-form input{
        text-align:left;

        font-size:.72rem;
    }


    .ps-foot-newsletter-form button{
        width:46px;
    }


    .ps-newsletter-alert{
        width:100%;

        max-width:360px;

        margin:
            0
            auto
            12px;

        text-align:center;
    }


    /* =====================================================
       Payments
       ===================================================== */

    .ps-foot-payments{
        width:100%;

        margin-top:17px;

        display:flex;

        align-items:center;
        justify-content:center;

        gap:7px;
    }


    .ps-payment-badge{
        min-width:59px;

        height:27px;
    }


    /* =====================================================
       Bottom
       ===================================================== */

    .ps-foot-divider{
        margin:
            32px
            0
            17px;
    }


    .ps-foot-bottom{
        width:100%;

        flex-direction:column;

        align-items:center;
        justify-content:center;

        gap:9px;

        color:
            rgba(
                255,
                255,
                255,
                .45
            );

        font-size:.61rem;

        text-align:center;
    }


    .ps-foot-bottom > span{
        width:100%;

        text-align:center;
    }


    .ps-foot-bottom-links{
        width:100%;

        justify-content:center;

        gap:16px;
    }


    .ps-foot-bottom-links a{
        font-size:.61rem;
    }

}


/* =========================================================
   EXTRA SMALL MOBILE
   ========================================================= */

@media(
    max-width:390px
){

    .ps-footer-container{
        width:
            calc(
                100% - 24px
            );
    }


    .ps-foot-copy{
        max-width:290px;
    }


    .ps-foot-brand-contact{
        max-width:290px;
    }


    .ps-foot-newsletter-form{
        max-width:320px;
    }


    .ps-foot-payments{
        gap:5px;
    }


    .ps-payment-badge{
        min-width:56px;

        padding:
            0
            6px;
    }

}

/* ==============================
   Mobile Bottom Nav — Premium (iOS style)
   ============================== */

:root{
  --mb-nav-h: 68px;          /* bar height */
  --mb-icon: 20px;
  --mb-label: 11px;
  --mb-radius: 18px;
  --mb-border: rgba(15,23,42,.10);
  --mb-shadow: 0 -14px 40px rgba(15,23,42,.12);
  --mb-active: #111111;
  --mb-muted:  #777773;
  --mb-accent: #111111;      /* keep black premium */
}

/* Reserve space so content never hides behind the bar */
@media (max-width: 991.98px){
  .site-main{
    padding-bottom: calc(var(--mb-nav-h) + env(safe-area-inset-bottom));
  }
}

.mbottom-nav{
  position: fixed;
  left: 10px;
  right: 10px;
  bottom: 10px;
  z-index: 1040;

  height: var(--mb-nav-h);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;

  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border: 1px solid var(--mb-border);
  border-radius: var(--mb-radius);
  box-shadow: var(--mb-shadow);

  padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
}

/* item */
.mbottom-nav .mbitem{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;

  text-decoration: none;
  color: var(--mb-muted);
  font-weight: 700;
  font-size: var(--mb-label);

  border-radius: 14px;
  transition: transform .12s ease, background .2s ease, color .2s ease;
}

/* icon - NO pill background (premium) */
.mbottom-nav .mbitem i{
  font-size: var(--mb-icon);
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
}

/* active */
.mbottom-nav .mbitem.active{
  color: var(--mb-active);
  background: rgba(15,23,42,.06);
}

/* press */
.mbottom-nav .mbitem:active{
  transform: translateY(1px);
}

/* Cart badge — clean and consistent */
.mbottom-nav .mbadge{
  position: absolute;
  top: 7px;
  right: 2px;

  min-width: 18px;
  height: 18px;
  padding: 0 5px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #ef4444;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  border-radius: 999px;

  border: 2px solid rgba(255,255,255,.92);
  box-shadow: 0 8px 16px rgba(15,23,42,.18);
}

/* Hide state (when scrolling down) */
.mbottom-nav.nav-hidden{
  transform: translateY(120%);
  opacity: 0;
  pointer-events: none;
}

/* Smooth animation */
.mbottom-nav{
  transition: transform .35s ease, opacity .25s ease;
}

/* WhatsApp FAB — lift above nav */
.whatsapp-fab{
  position: fixed;
  right: 16px;
  bottom: calc(var(--mb-nav-h) + 22px + env(safe-area-inset-bottom));
  z-index: 1050;

  width: 56px;
  height: 56px;
  border-radius: 999px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #22c55e;
  color: #fff;
  text-decoration: none;

  box-shadow: 0 18px 40px rgba(15,23,42,.18);
}
.whatsapp-fab i{ font-size: 24px; }

/* Desktop hidden */
@media (min-width: 992px){
  .mbottom-nav{ display:none; }
  
}

@media (max-width: 991.98px){
  body{ padding-bottom: 0 !important; }
  main.site-main{ padding-bottom: calc(var(--mb-nav-h) + env(safe-area-inset-bottom)); }
}

/* ==============================
   Search suggestions (Kelly Felder Style)
   ============================== */
.ps-suggest {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 2px); /* Tighter gap */
  z-index: 2000;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-top: none;      /* Seamless look */
  border-radius: 0px;    /* ✅ Sharp Corners */
  box-shadow: 0 10px 30px rgba(0,0,0,0.1); /* Stronger shadow */
  padding: 0;
  max-height: 70vh;
  overflow: auto;
}

/* Suggestion Item */
.ps-suggest .item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 10px 15px;
  border-radius: 0px;    /* ✅ Sharp Corners */
  text-decoration: none;
  color: #111111;
  border-bottom: 1px solid #f3f3f3;
  transition: background 0.2s ease;
}

/* Hover State */
.ps-suggest .item:hover,
.ps-suggest .item.active {
  background: #fafaf8;   /* Very subtle grey */
}

/* Product Image */
.ps-suggest .ps-sg-thumb {
  width: 50px;
  height: 50px;
  border-radius: 0px;    /* ✅ Sharp Image */
  background: #fafaf8;
  border: 1px solid #e5e7eb;
  object-fit: cover;     /* Better fit */
  flex-shrink: 0;
}

/* Text Styling */
.ps-suggest .name {
  font-weight: 500;
  color: #000000;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  line-height: 1.3;
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Price */
.ps-suggest .price {
  margin-left: auto;
  font-weight: 700;
  font-size: 0.9rem;
  color: #000000;        /* Black price */
  flex-shrink: 0;
}

/* Remove border from last item */
.ps-suggest .item:last-child {
  border-bottom: none;
}

/* =========================================================
   FIX: Increase Mobile Search Suggestions Height
   ========================================================= */

@media (max-width: 991.98px) {
  /* 1. Force the suggestion list to be much taller */
  .ps-suggest {
    max-height: 75vh !important; /* Use 75% of the screen height */
    overflow-y: auto;            /* Keep scrollbar only if list is HUGE */
  }

  /* 2. Ensure the parent drawer can grow to fit the new big list */
  .offcanvas.off-searchcanvas {
    height: auto !important;     /* Grow with content */
    max-height: 90vh !important; /* Prevent it from going off-screen */
  }
}

/* =========================================================
   MOBILE TWEAKS (Crucial for the new short offcanvas)
   ========================================================= */
@media (max-width: 991.98px) {
  .ps-suggest {
    /* ✅ KEY FIX: On mobile, make it relative so it pushes the 
       offcanvas open instead of floating (and getting cut off) */
    position: relative; 
    top: 0;
    box-shadow: none;
    border: none;
    border-top: 1px solid #f1f1f1;
    max-height: none; /* Let it grow fully */
  }
  
  .ps-suggest .item {
    padding: 12px 0; /* Cleaner spacing on mobile */
  }
}
/* ==============================
   WhatsApp floating button
   ============================== */
.whatsapp-fab{
  position:fixed;
  right:14px;
  bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + 14px);
  z-index:1050;
  display:inline-flex;
  width:54px;
  height:54px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#25d366;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.whatsapp-fab i{
  font-size:26px;
}
@media (max-width:360px){
  .whatsapp-fab{
    right:10px;
    bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + 10px);
  }
}


/* =========================================================
   LÉVORA — PRODUCT PAGE FINAL OVERRIDE
   Paste this at the END of assets/css/theme.css
   ========================================================= */

.pd-page{
    --pd-text:#111111;
    --pd-muted:#6f6f6b;
    --pd-soft:#f6f6f4;
    --pd-warm:#f4f2ee;
    --pd-line:#e7e7e3;
    --pd-line-strong:#d2d2cc;
    --pd-success:#26734d;
    --pd-danger:#b42318;
    max-width:1380px;
}

/* Breadcrumb */
.pd-breadcrumb{
    margin-bottom:18px;
    display:flex;
    align-items:center;
    gap:8px;
    overflow-x:auto;
    color:#8b8b86;
    font-size:.68rem;
    white-space:nowrap;
    scrollbar-width:none;
}
.pd-breadcrumb::-webkit-scrollbar{display:none;}
.pd-breadcrumb a{
    color:#6f6f6b !important;
    font-weight:400;
    text-decoration:none !important;
}
.pd-breadcrumb a:hover{color:#111111 !important;}
.pd-breadcrumb > i{
    color:#b0b0aa;
    font-size:.5rem;
}
.pd-breadcrumb-current{
    max-width:340px;
    overflow:hidden;
    color:#111111;
    text-overflow:ellipsis;
}

/* Main layout */
.pd-product-shell{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
    gap:clamp(38px,5vw,76px);
    align-items:start;
}
.pd-product-gallery,
.pd-product-details{min-width:0;}
.pd-sticky-wrap{
    position:sticky;
    top:104px;
}

/* Desktop gallery */
.pd-gallery-shell{width:100%;}
.pd-main-stage{
    position:relative;
    width:100%;
    aspect-ratio:1/1;
    min-height:0 !important;
    height:auto !important;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border:1px solid #ecece8;
    border-radius:0 !important;
    background:#f6f6f4;
    box-shadow:none !important;
}
.pd-main-image{
    display:block;
    width:100%;
    height:100% !important;
    min-height:0 !important;
    padding:clamp(28px,4vw,58px);
    object-fit:contain;
    object-position:center;
    background:transparent;
    cursor:zoom-in;
    transform:none !important;
}
.pd-gallery-badge{
    position:absolute;
    top:14px;
    left:14px;
    z-index:3;
    min-height:24px;
    padding:0 9px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #111111;
    border-radius:0 !important;
    background:#111111;
    color:#fff;
    font-size:.52rem;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:none !important;
}

/* Thumbnails */
.pd-thumbs-rail{
    margin-top:11px;
    padding:1px 1px 4px;
    display:flex;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
}
.pd-thumbs-rail::-webkit-scrollbar{display:none;}
.pd-thumb-btn{
    width:70px;
    height:70px;
    flex:0 0 70px;
    padding:5px;
    overflow:hidden;
    border:1px solid #e2e2dd;
    border-radius:0 !important;
    background:#f8f8f6;
    cursor:pointer;
    box-shadow:none !important;
}
.pd-thumb-btn img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.pd-thumb-btn:hover{border-color:#a9a9a4;}
.pd-thumb-btn.active{
    border-color:#111111;
    background:#fff;
    box-shadow:none !important;
}

/* Gallery controls */
.pd-gallery-nav,
.pd-gallery-zoom{
    position:absolute;
    z-index:5;
    width:38px;
    height:38px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(17,17,17,.14);
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:#111111;
    box-shadow:none !important;
}
.pd-gallery-prev{left:13px;top:50%;transform:translateY(-50%);}
.pd-gallery-next{right:13px;top:50%;transform:translateY(-50%);}
.pd-gallery-zoom{top:13px;right:13px;}
.pd-gallery-nav:hover,
.pd-gallery-zoom:hover{
    border-color:#111111;
    background:#111111;
    color:#fff;
}

/* Product header */
.pd-status-row{
    margin-bottom:11px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}
.pd-stock-badge{
    padding:0 !important;
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    font-size:.64rem;
    font-weight:500;
}
.pd-stock-badge.is-in-stock{color:#26734d;}
.pd-stock-badge.is-out-stock{color:#b42318;}
.pd-stock-badge i{font-size:.7rem;}
.pd-brand-label{
    color:#8a8a85;
    font-size:.58rem;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.pd-title{
    max-width:640px;
    margin:0 0 11px;
    color:#111111;
    font-size:clamp(1.75rem,2.7vw,2.65rem);
    font-weight:500;
    line-height:1.08;
    letter-spacing:-.035em;
}

/* Rating */
.pd-rating-row{
    margin-bottom:20px;
    display:flex;
    align-items:center;
    gap:8px;
    color:#777773;
    font-size:.65rem;
}
.pd-review-stars{
    display:flex;
    gap:2px;
    color:#d7a128;
}
.pd-rating-row a{
    color:#555551 !important;
    font-weight:500;
    text-decoration:none !important;
}
.pd-rating-row a:hover{text-decoration:underline !important;}

/* Price */
.pd-price-row{
    margin-bottom:26px;
    padding-bottom:22px;
    border-bottom:1px solid #e7e7e3;
}
.pd-price-wrap{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:11px;
}
.pd-price,
.pd-price.text-danger,
.pd-price.text-success{
    color:#111111 !important;
    font-size:clamp(1.45rem,2.1vw,1.95rem);
    font-weight:600;
    line-height:1.15;
    letter-spacing:-.02em;
}
.pd-was{
    color:#999994;
    font-size:.82rem;
    font-weight:400;
    text-decoration:line-through;
}
.pd-price-caption{
    margin-top:7px;
    color:#8a8a85;
    font-size:.59rem;
    font-weight:400;
}
.pd-price-note{
    margin-top:6px;
    color:#777773 !important;
    font-size:.57rem;
    font-weight:600;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.pd-stock-msg{
    display:none;
    margin-top:8px;
    color:#b42318;
    font-size:.64rem;
    font-weight:600;
}

/* Options */
.pd-option-group{margin-bottom:22px;}
.pd-option-label{
    display:block;
    margin-bottom:10px;
    color:#555551;
    font-size:.67rem;
    font-weight:500;
}
.pd-option-label strong{
    color:#111111;
    font-weight:600;
}
.pd-swatches{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.pd-swatch{
    width:31px;
    height:31px;
    padding:0;
    border:4px solid #fff;
    border-radius:999px;
    background:var(--swatch-color);
    box-shadow:0 0 0 1px #cfcfca;
}
.pd-swatch:hover{transform:scale(1.04);}
.pd-swatch.active{box-shadow:0 0 0 2px #111111;}

.pd-option-cards{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
}
.pd-sizebtn{
    min-height:50px;
    padding:7px 8px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    border:1px solid #deded9;
    border-radius:0 !important;
    background:#fff;
    color:#111111;
    text-align:center;
    box-shadow:none !important;
}
.pd-sizebtn strong{
    font-size:.64rem;
    font-weight:500;
    line-height:1.25;
}
.pd-sizebtn small{
    color:#777773;
    font-size:.5rem;
}
.pd-sizebtn:hover{border-color:#111111;background:#fff;}
.pd-sizebtn.active{
    border-color:#111111;
    background:#111111;
    color:#fff;
    box-shadow:none !important;
}
.pd-sizebtn.active small{color:rgba(255,255,255,.65);}
.pd-option-disabled{
    opacity:.35;
    pointer-events:none;
    text-decoration:line-through;
}

/* Availability / legacy wholesale */
.pd-service-actions{
    margin:2px 0 18px;
    display:flex;
}
.pd-service-button{
    min-height:42px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:0 !important;
    font-size:.62rem;
    font-weight:600;
    letter-spacing:.05em;
    text-transform:uppercase;
    text-decoration:none !important;
}
.pd-repair-button{
    border:1px solid #d5d5d0;
    background:#fff;
    color:#111111;
}
.pd-repair-button i{
    color:#169b46;
    font-size:.82rem;
}
.pd-repair-button:hover{
    border-color:#111111;
    background:#111111;
    color:#fff;
}
.pd-wholesale-button,
.pd-wholesale-state{
    display:none !important;
}

/* Purchase row */
.pd-purchase-row{
    display:grid;
    grid-template-columns:128px minmax(120px,.8fr) minmax(150px,1fr);
    gap:9px;
    align-items:stretch;
}
.qty-wrap-premium{
    display:grid;
    grid-template-columns:38px 50px 38px;
    overflow:hidden;
    border:1px solid #d8d8d3;
    border-radius:0 !important;
    background:#fff;
}
.qty-wrap-premium .qty-btn{
    width:38px;
    height:46px;
    padding:0;
    border:0;
    background:#fff;
    color:#111111;
}
.qty-wrap-premium .qty-btn:hover{
    background:#f4f2ee;
    color:#111111;
}
.qty-wrap-premium .qty-input{
    width:50px;
    height:46px;
    padding:0;
    border:0;
    border-inline:1px solid #e3e3de;
    background:#fff;
    color:#111111;
    font-size:.75rem;
    font-weight:500;
    text-align:center;
    outline:0;
}
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button{
    margin:0;
    -webkit-appearance:none;
}
.btn-pd-buy,
.btn-pd-cart{
    min-height:46px;
    padding:0 15px;
    border:1px solid #111111;
    border-radius:0 !important;
    font-family:inherit;
    font-size:.64rem;
    font-weight:600;
    letter-spacing:.07em;
    text-transform:uppercase;
    box-shadow:none !important;
}
.btn-pd-buy{
    background:#fff;
    color:#111111;
}
.btn-pd-buy:hover{
    background:#f4f2ee;
    color:#111111;
}
.btn-pd-cart{
    background:#111111;
    color:#fff;
}
.btn-pd-cart:hover{
    background:#fff;
    color:#111111;
}
.btn-pd-buy:disabled,
.btn-pd-cart:disabled{
    cursor:not-allowed;
    border-color:#deded9;
    background:#f3f3f0;
    color:#999994;
    opacity:1;
}

/* Trust strip */
.pd-trust-strip{
    margin-top:24px;
    padding:16px 0;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border:0 !important;
    border-top:1px solid #e7e7e3 !important;
    border-bottom:1px solid #e7e7e3 !important;
    border-radius:0 !important;
    overflow:visible;
}
.pd-trust-strip > div{
    min-height:44px;
    padding:0 12px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    border-right:1px solid #e7e7e3;
    text-align:left;
}
.pd-trust-strip > div:first-child{padding-left:0;}
.pd-trust-strip > div:last-child{
    padding-right:0;
    border-right:0;
}
.pd-trust-strip i{
    color:#777773;
    font-size:1rem;
}
.pd-trust-strip span{
    min-width:0;
    display:flex;
    flex-direction:column;
}
.pd-trust-strip strong{
    color:#333330;
    font-size:.53rem;
    font-weight:600;
    line-height:1.3;
}
.pd-trust-strip small{
    margin-top:2px;
    color:#999994;
    font-size:.48rem;
    line-height:1.3;
}

/* Notice */
.site-notice-box{
    margin-top:17px;
    padding:12px 13px;
    border:1px solid #e1ded7;
    border-radius:0 !important;
    background:#f4f2ee;
    color:#5f5f5a;
    font-size:.68rem;
    line-height:1.55;
}

/* Accordion */
.pd-accordion{
    margin-top:25px;
    border-top:1px solid #e7e7e3;
}
.pd-acc-item{border-bottom:1px solid #e7e7e3;}
.pd-acc-header{
    width:100%;
    padding:16px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border:0;
    background:transparent;
    color:#111111;
    font-family:inherit;
    font-size:.68rem;
    font-weight:600;
    letter-spacing:.02em;
    text-align:left;
}
.pd-acc-header i{
    font-size:.68rem;
    transition:transform .18s ease;
}
.pd-acc-item.active .pd-acc-header i{transform:rotate(45deg);}
.pd-acc-body{
    display:none;
    padding:0 0 19px;
    color:#6f6f6b;
    font-size:.75rem;
    line-height:1.75;
}
.pd-acc-item.active .pd-acc-body{display:block;}

/* Reviews / related */
.pd-section{
    margin-top:clamp(48px,6vw,78px);
    margin-bottom:clamp(48px,6vw,78px);
}
.pd-section-head{
    margin-bottom:21px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
}
.pd-section-head span{
    color:#777773;
    font-size:.58rem;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.pd-section-head h2{
    margin:5px 0 0;
    color:#111111;
    font-size:clamp(1.35rem,2.5vw,1.9rem);
    font-weight:500;
    letter-spacing:-.025em;
}
.pd-section-head > strong{
    color:#777773;
    font-size:.66rem;
    font-weight:500;
}
.pd-section-head > a{
    color:#111111 !important;
    font-size:.64rem;
    font-weight:600;
    text-decoration:none !important;
}
.pd-section-head > a:hover{text-decoration:underline !important;}

.pd-review-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border:1px solid #e7e7e3;
}
.pd-review-card{
    padding:21px;
    border:0 !important;
    border-right:1px solid #e7e7e3 !important;
    border-bottom:1px solid #e7e7e3 !important;
    border-radius:0 !important;
    background:#fff;
    box-shadow:none !important;
}
.pd-review-card:nth-child(2n){border-right:0 !important;}
.pd-review-card-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
}
.pd-review-card-head strong{
    color:#111111;
    font-size:.72rem;
    font-weight:600;
}
.pd-review-card-head span{
    color:#d7a128;
    font-size:.68rem;
    letter-spacing:.08em;
}
.pd-review-card h3{
    margin:12px 0 6px;
    color:#111111;
    font-size:.78rem;
    font-weight:600;
}
.pd-review-card p{
    margin:0;
    color:#6f6f6b;
    font-size:.72rem;
    line-height:1.65;
}

/* Mobile gallery */
.pd-gallery-mobile{
    position:relative;
    overflow:hidden;
    border:1px solid #ecece8;
    border-radius:0 !important;
    background:#f6f6f4;
}
.pd-gallery-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
}
.pd-gallery-grid::-webkit-scrollbar{display:none;}
.pd-gallery-item{
    flex:0 0 100%;
    scroll-snap-align:start;
}
.pd-gallery-img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    padding:clamp(20px,8vw,38px);
    object-fit:contain;
    background:transparent;
}
.pd-mobile-dots{
    position:absolute;
    left:0;
    right:0;
    bottom:12px;
    display:flex;
    justify-content:center;
    gap:5px;
    pointer-events:none;
}
.pd-dot{
    width:5px;
    height:5px;
    border-radius:999px;
    background:#b8b8b2;
}
.pd-dot.active{
    width:17px;
    background:#111111;
}

/* Lightbox */
#pdLightbox{z-index:3000 !important;}
#pdLightbox .modal-dialog{z-index:3001 !important;}
#pdLightbox .modal-content{
    border:0 !important;
    border-radius:0 !important;
    background:rgba(255,255,255,.99) !important;
}
.modal-backdrop.show{
    z-index:990 !important;
    opacity:.82;
}
.pd-lightbox-image{
    max-width:100%;
    max-height:90vh;
    object-fit:contain;
}
.pd-lightbox-nav{
    position:absolute;
    top:50%;
    z-index:3005;
    width:42px;
    height:42px;
    transform:translateY(-50%);
    border:1px solid #deded9;
    border-radius:999px;
    background:#fff;
    color:#111111;
}
.pd-lightbox-prev{left:16px;}
.pd-lightbox-next{right:16px;}

/* Large tablet */
@media(max-width:1199.98px){
    .pd-product-shell{
        grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);
        gap:34px;
    }
    .pd-option-cards{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .pd-trust-strip{
        grid-template-columns:repeat(2,minmax(0,1fr));
        padding:0;
        border:1px solid #e7e7e3 !important;
    }
    .pd-trust-strip > div{
        padding:10px 12px;
        border-bottom:1px solid #e7e7e3;
    }
    .pd-trust-strip > div:first-child{padding-left:12px;}
    .pd-trust-strip > div:nth-child(2){border-right:0;}
    .pd-trust-strip > div:nth-child(3),
    .pd-trust-strip > div:nth-child(4){border-bottom:0;}
}

/* Tablet */
@media(max-width:991.98px){
    .pd-product-shell{
        grid-template-columns:1fr;
        gap:25px;
    }
    .pd-sticky-wrap{position:static;}
    .pd-product-details{padding-inline:1px;}
}

/* Mobile */
@media(max-width:575.98px){
    .pd-page{
        padding-inline:12px !important;
        padding-top:10px !important;
    }
    .pd-breadcrumb{
        margin-bottom:10px;
        gap:6px;
        font-size:.58rem;
    }
    .pd-breadcrumb-current{max-width:170px;}
    .pd-product-shell{gap:20px;}

    .pd-gallery-nav,
    .pd-gallery-zoom{
        width:34px;
        height:34px;
        font-size:.72rem;
    }
    .pd-gallery-prev{left:7px;}
    .pd-gallery-next{right:7px;}
    .pd-gallery-zoom{top:7px;right:7px;}

    .pd-status-row{margin-bottom:10px;}
    .pd-stock-badge{font-size:.59rem;}
    .pd-brand-label{font-size:.52rem;}

    .pd-title{
        margin-bottom:9px;
        font-size:1.55rem;
        line-height:1.1;
    }

    .pd-rating-row{
        margin-bottom:16px;
        font-size:.59rem;
    }

    .pd-price-row{
        margin-bottom:21px;
        padding-bottom:18px;
    }
    .pd-price,
    .pd-price.text-danger,
    .pd-price.text-success{font-size:1.45rem;}
    .pd-was{font-size:.72rem;}
    .pd-price-caption{font-size:.55rem;}

    .pd-option-group{margin-bottom:18px;}
    .pd-option-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .pd-sizebtn{min-height:47px;}

    .pd-service-actions{width:100%;}
    .pd-service-button{width:100%;}

    .pd-purchase-row{
        grid-template-columns:116px minmax(0,1fr);
        gap:8px;
    }
    .qty-wrap-premium{
        grid-template-columns:34px 46px 34px;
    }
    .qty-wrap-premium .qty-btn{
        width:34px;
        height:44px;
    }
    .qty-wrap-premium .qty-input{
        width:46px;
        height:44px;
        font-size:16px;
    }

    .btn-pd-buy,
    .btn-pd-cart{
        min-height:44px;
        padding-inline:9px;
        font-size:.58rem;
    }
    .btn-pd-cart{grid-column:1/-1;}

    .pd-trust-strip{
        margin-top:21px;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .pd-trust-strip > div{
        min-height:57px;
        padding:8px 9px;
    }
    .pd-trust-strip > div:first-child{padding-left:9px;}
    .pd-trust-strip > div:nth-child(2n){border-right:0;}
    .pd-trust-strip i{font-size:.88rem;}
    .pd-trust-strip strong{font-size:.49rem;}
    .pd-trust-strip small{font-size:.44rem;}

    .pd-acc-header{font-size:.64rem;}
    .pd-acc-body{font-size:.71rem;}

    .pd-section{
        margin-top:42px;
        margin-bottom:42px;
    }
    .pd-section-head{
        margin-bottom:16px;
        align-items:flex-start;
    }
    .pd-section-head h2{font-size:1.35rem;}
    .pd-section-head > a{display:none;}

    .pd-review-grid{grid-template-columns:1fr;}
    .pd-review-card{
        padding:17px;
        border-right:0 !important;
    }
    .pd-review-card:last-child{border-bottom:0 !important;}

    .pd-lightbox-nav{
        width:36px;
        height:36px;
    }
    .pd-lightbox-prev{left:8px;}
    .pd-lightbox-next{right:8px;}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
    .pd-page *,
    .pd-page *::before,
    .pd-page *::after{
        transition-duration:.01ms !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
    }
}


/* Force cart drawer + backdrop above everything (very high z-index) */
#cartDrawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
}



/* Defensive: ensure header never creates a higher stacking context by transform */
.main-header,
.main-header * {

  will-change: auto !important;
}

/* Prevent duplicated header/topbar from appearing inside cart drawer */
#cartDrawer .main-header,
#cartDrawer .topbar,
#cartDrawer .desktop-header,
#cartDrawer .desktop-nav-bar {
    display: none !important;
}

/* base hero background */
.hero-slide-bg{

  border-radius: var(--ps-radius);
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;           /* full image, no black bars   */
  background-position: center ;/* focus bottom of image       */
  position: relative;               /* for .hero-content absolute  */
}

/* ===== DESKTOP: place text in bottom-right (green box) ===== */
@media (min-width: 768px){

  /* text wrapper overlay, bottom-right */
  .hero-content{
    position: absolute;
    right: 6vw;     /* distance from right edge  */
    bottom: 8vh;    /* distance from bottom edge */
    max-width: 520px;
    text-align: left;
  }

  /* hide the separate right image column on desktop */
  .hero-slide-bg .col-lg-6.col-md-5{
    display: none !important;
  }

  .hero-title{
    font-size: 2.7rem;
  }
}

/* ===== MOBILE: let content flow normally, not overlay ===== */
@media (max-width: 767.98px){
  .hero-content{
    position: static;
  }
}


/* ==========================================
   NEW ARRIVALS / TRENDING — MOBILE SAFE SLIDER
   ========================================== */

.nar-section{
  padding: 10px 0 4px;
}

.nar-head{
  border-bottom: 1px solid rgba(0,0,0,.08);
  padding-bottom: 12px;
  margin-bottom: 18px;
}

.nar-kicker{
  font-size: 1.1rem;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  color: #111;
}

.nar-viewall{
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease, color .2s ease;
}

.nar-viewall:hover{
  border-bottom-color:#111;
  color:#111 !important;
}

/* arrows */
.nar-arrows{
  gap: 10px;
}

.nar-arrow{
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #f2f2f2;
  color: #111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .2s ease, transform .2s ease, opacity .2s ease;
}

.nar-arrow:hover{
  background: #e8e8e8;
}

.nar-arrow:active{
  transform: scale(.96);
}

.nar-slider-wrap{
  position: relative;
  width: 100%;
  overflow: visible;
}

.nar-rail{
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  gap: 22px;
  width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 0 0 8px;
}

.nar-rail::-webkit-scrollbar{
  display: none;
}

.nar-rail > .nar-slide{
  flex: 0 0 calc((100% - 66px) / 4) !important;
  max-width: calc((100% - 66px) / 4) !important;
  min-width: 0 !important;
  scroll-snap-align: start;
}

.nar-rail > .nar-slide,
.nar-rail > .nar-slide > *,
.nar-rail > .nar-slide .kf-card{
  min-width: 0 !important;
  width: 100%;
}

.nar-rail > .nar-slide .kf-card{
  height: 100%;
  margin-bottom: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.nar-rail > .nar-slide .product-title{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
}

.nar-rail > .nar-slide .kf-card .card-img-wrap,
.nar-rail > .nar-slide .kf-card .product-thumb,
.nar-rail > .nar-slide .kf-card .product-image-wrap{
  border-radius: 0 !important;
  overflow: hidden;
}

.nar-rail > .nar-slide .kf-card img{
  width: 100%;
  height: auto;
  display: block;
  pointer-events: none;
}

/* tablet */
@media (max-width: 991.98px){
  .nar-kicker{
    font-size: 1rem;
  }

  .nar-rail{
    gap: 16px;
  }

  .nar-rail > .nar-slide{
    flex: 0 0 calc((100% - 16px) / 2) !important;
    max-width: calc((100% - 16px) / 2) !important;
  }
}

/* mobile */
@media (max-width: 767.98px){
  .nar-head{
    align-items: center !important;
    margin-bottom: 14px;
  }

  .nar-kicker{
    font-size: .95rem;
    letter-spacing: .12em;
  }

  .nar-viewall{
    font-size: .7rem;
  }

  .nar-rail{
    gap: 10px;
    padding-left: 0;
    padding-right: 0;
  }

  .nar-rail > .nar-slide{
    flex: 0 0 calc((100% - 10px) / 2) !important;
    max-width: calc((100% - 10px) / 2) !important;
  }
}


/* ==========================
   Glion Blog Slider (Light) — FIXED
   ========================== */
.gl-posts{
  padding: clamp(26px, 5vw, 56px) 0;
  background: transparent;
}

/* Head text */
.gl-posts-head{ margin-bottom: 14px; }
.gl-posts-kicker{
  font-size:.8rem;
  font-weight:600;              /* ✅ less heavy */
  letter-spacing:.18em;
  text-transform:uppercase;
  color: var(--ps-muted);
}
.gl-posts-title{
  margin: 6px 0 4px;
  font-weight:700;              /* ✅ less heavy */
  color: var(--ps-text);
}
.gl-posts-sub{
  margin: 0 auto;
  max-width: 760px;
  color: var(--ps-muted);
}

/* Controls row (View all + arrows) */
.gl-posts-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;                      /* ✅ no big space */
  margin: 8px 0 12px;
}

/* View all button (match your theme) */
.gl-posts-viewall{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--ps-border-soft);
  background:#fff;
  color:#111111 !important;
  font-weight:500;              /* ✅ not bold */
  text-decoration:none !important;
}
.gl-posts-viewall:hover{
  background: var(--ps-primary-soft);
  border-color: var(--ps-border-strong);
  text-decoration:none !important;
}

/* arrows */
.gl-posts-arrow{
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--ps-border-soft);
  background:#fff;
  color:#111111;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition: transform .12s ease, background .12s ease, border-color .12s ease, color .12s ease;
}
.gl-posts-arrow i{
  font-size:18px;
  line-height:1;
  color: currentColor;
}
.gl-posts-arrow:hover{
  background:#111111;
  color:#fff;                   /* ✅ icon becomes white */
  border-color: var(--ps-border-strong);
  transform: translateY(-1px);
}

/* wrapper */
.gl-posts-wrap{
  overflow:hidden;
  border-radius: var(--ps-radius);
}

/* rail */
.gl-posts-rail{
  display:flex;
  flex-wrap: nowrap;            /* ✅ stop stacking */
  align-items: stretch;
  gap:18px;

  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;

  padding: 6px 2px 12px;
  scrollbar-width:none;
}
.gl-posts-rail::-webkit-scrollbar{ display:none; }

.gl-posts-rail.is-drag{
  cursor: grabbing;
  user-select:none;
}

.gl-post-card{
  scroll-snap-align: start;
  flex: 0 0 auto;
  width: clamp(260px, 30vw, 390px);
  background:#fff;
  border: 1px solid var(--ps-border-soft);
  border-radius: var(--ps-radius);
  overflow:hidden;
  box-shadow: var(--ps-shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.gl-post-card:hover{
  transform: translateY(-4px);
  border-color: var(--ps-border-strong);
  box-shadow: 0 18px 40px rgba(15,23,42,.10);
}

/* image */
.gl-post-thumb{
  position:relative;
  display:block;
  text-decoration:none !important;   /* ✅ no underline */
}
.gl-post-thumb img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  display:block;
  background:#f6f6f4;
}

/* date badge */
.gl-post-date{
  position:absolute;
  top:12px; left:12px;
  background: rgba(17,24,39,.92);
  color:#fff;
  border-radius:12px;
  padding: 10px 10px 8px;
  width:56px;
  text-align:center;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.gl-post-date .d{ display:block; font-weight:800; font-size:20px; line-height:1; }
.gl-post-date .m{ display:block; font-size:12px; letter-spacing:.12em; margin-top:4px; opacity:.9; }

/* body (important for same CTA position) */
.gl-post-body{
  padding:14px 14px 16px;
  display:flex;                  /* ✅ */
  flex-direction:column;         /* ✅ */
  min-height: 210px;             /* ✅ stable height */
}

.gl-post-chip{
  display:inline-flex;        /* ✅ shrink to content */
  align-items:center;
  width:auto;                 /* ✅ no forced width */
  max-width: fit-content;

  font-size:.7rem;            /* slightly smaller */
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;

  color:#fff;
  background:#111111;
  padding:4px 8px;            /* ✅ reduced padding */
  border-radius:8px;

  margin-top:-16px;
  position:relative;
  white-space:nowrap;         /* ✅ stay on one line */
}


/* title (clamp to 2 lines so layout is stable) */
.gl-post-h{
  margin:10px 0 8px;
  font-weight:600;               /* ✅ less heavy */
  line-height:1.25;

  display:-webkit-box;           /* ✅ */
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;          /* ✅ max 2 lines */
  overflow:hidden;
  min-height: calc(1.25em * 2);  /* ✅ same height even if 1 line */
}
.gl-post-h a{
  color: var(--ps-text);
  text-decoration:none !important;     /* ✅ remove underline */
}
.gl-post-h a:hover{
  text-decoration:none !important;     /* ✅ keep none */
}

/* excerpt (optional clamp) */
.gl-post-ex{
  margin:0 0 12px;
  color: var(--ps-muted);
  font-size:.95rem;
  line-height:1.65;

  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}

/* Continue reading pinned to bottom */
.gl-post-more{
  margin-top:auto;               /* ✅ always bottom */
  font-weight:600;               /* ✅ less heavy */
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:.78rem;
  color:#111111;
  text-decoration:none !important;     /* ✅ remove underline */
}
.gl-post-more:hover{
  text-decoration:none !important;
  opacity:.85;
}

/* mobile */
@media (max-width: 575.98px){
  .gl-posts-controls{
    justify-content:space-between;
    gap:8px;
  }

  /* ✅ center view-all, arrows stay right */
  .gl-posts-viewall{
    margin:0 auto;
  }

  .gl-post-card{ width: 84vw; }       /* ✅ one card per swipe */
  .gl-posts-rail{ padding-left: 8px; padding-right: 8px; }
}


/* =========================================================
   FIX: Hero Behind Header (Mobile)
   ========================================================= */

@media (max-width: 991.98px) {
  /* 1. Remove space at top so Hero touches the screen edge */
  body {
    padding-top: 0 !important;
  }

  /* 2. Define spacer height for NON-home pages */
  .header-spacer {
    height: 0px; /* Adjust this to match your mobile header height */
    display: block;
  }
}




/*==========================================================
        WISHLIST NOTIFICATION 
===========================================================*/

/* ===== Toasts (Wishlist notification) ===== */
.ps-toasts{
  position: fixed;
  right: 14px;
  bottom: calc(var(--bottom-nav-h) + 14px);
  z-index: 9999;
  display: grid;
  gap: 10px;
  pointer-events: none;
}

.ps-toast{
  pointer-events: auto;
  min-width: 240px;
  max-width: min(360px, calc(100vw - 28px));
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
  color: #111;
  display:flex;
  align-items:flex-start;
  gap: 10px;
  transform: translateY(8px);
  opacity: 0;
  transition: opacity .18s ease, transform .18s ease;
}

.ps-toast.show{
  opacity: 1;
  transform: translateY(0);
}

.ps-toast .t-ic{
  width: 22px; height: 22px;
  display:flex; align-items:center; justify-content:center;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  flex: 0 0 auto;
  margin-top: 1px;
}

.ps-toast .t-title{ font-weight: 700; font-size: .95rem; line-height: 1.2; }
.ps-toast .t-msg{ font-size: .88rem; color: rgba(17,17,17,.75); margin-top: 2px; }

.ps-toast .t-actions{
  margin-left:auto;
  display:flex;
  gap: 8px;
}

.ps-toast .t-btn{
  border: 1px solid rgba(0,0,0,.14);
  background: #fff;
  color: #111;
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 600;
  font-size: .82rem;
  line-height: 1;
  text-decoration: none;
}

.ps-toast .t-btn:hover{ background: rgba(0,0,0,.06); }

/* variants */
.ps-toast.success .t-ic{ color: #1f7a4d; border-color: rgba(31,122,77,.25); }
.ps-toast.error   .t-ic{ color: #b42318; border-color: rgba(180,35,24,.25); }









/* =========================================================
   CHECKOUT — LÉVORA MONOCHROME THEME
   UI only. Existing checkout logic and field names unchanged.
   ========================================================= */

.checkout-page{
    max-width:1380px;
    margin:0 auto 58px;
    padding-top:18px;
}

/* Breadcrumb */

.checkout-breadcrumb{
    margin-bottom:18px;
}

.checkout-breadcrumb .breadcrumb{
    margin:0;
    font-size:.82rem;
}

.checkout-breadcrumb a{
    color:var(--ps-primary);
    text-decoration:none;
}

/* Page heading */

.checkout-hero{
    position:relative;
    overflow:hidden;
    margin-bottom:20px;
    padding:24px 26px;
    border-radius:var(--ps-radius-lg,14px);
    background:
        radial-gradient(
            circle at 92% 10%,
            rgba(255,255,255,.18),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            var(--ps-primary-dark),
            var(--ps-primary)
        );
    color:#fff;
    box-shadow:0 18px 42px rgba(0,0,0,.10);
}

.checkout-hero-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.checkout-heading{
    min-width:0;
    display:flex;
    align-items:center;
    gap:15px;
}

.checkout-heading-icon{
    width:60px;
    height:60px;
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.34);
    border-radius:17px;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:1.35rem;
}

.checkout-kicker{
    margin-bottom:3px;
    color:rgba(255,255,255,.72);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.checkout-hero h1{
    margin:0;
    color:#fff;
    font-size:clamp(1.45rem,3vw,2rem);
    font-weight:750;
    line-height:1.2;
}

.checkout-hero-subtitle{
    margin-top:5px;
    color:rgba(255,255,255,.78);
    font-size:.82rem;
}

.checkout-wholesale-pill{
    width:max-content;
    max-width:100%;
    margin-top:9px;
    padding:6px 10px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:1px solid rgba(255,255,255,.30);
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:.67rem;
    font-weight:750;
}

.checkout-back-cart{
    min-height:41px;
    padding:0 16px;
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid rgba(255,255,255,.54);
    border-radius:8px;
    background:rgba(255,255,255,.10);
    color:#fff !important;
    font-size:.78rem;
    font-weight:750;
    text-decoration:none !important;
}

.checkout-back-cart:hover{
    border-color:#fff;
    background:#fff;
    color:var(--ps-primary-dark) !important;
}

/* Custom alerts */

.checkout-alert{
    margin-bottom:16px;
    padding:12px 14px;
    display:flex;
    align-items:flex-start;
    gap:10px;
    border:1px solid;
    border-radius:10px;
    font-size:.8rem;
    line-height:1.5;
}

.checkout-alert-icon{
    width:30px;
    height:30px;
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:rgba(255,255,255,.76);
}

.checkout-alert-danger{
    border-color:#efc0bc;
    background:var(--ps-danger-soft,#fff1f1);
    color:var(--ps-danger,#c62828);
}

.checkout-alert-success{
    border-color:#b8e0c8;
    background:var(--ps-success-soft,#eaf8ef);
    color:var(--ps-success,#168a45);
}

.checkout-alert ul{
    margin:0;
    padding-left:18px;
}

/* Main layout */

.checkout-layout{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);
    gap:22px;
    align-items:start;
}

.checkout-main,
.checkout-sidebar{
    min-width:0;
}

.checkout-sidebar{
    position:sticky;
    top:118px;
}

/* General cards */

.checkout-card{
    overflow:hidden;
    margin-bottom:16px;
    border:1px solid var(--ps-border-soft);
    border-radius:var(--ps-radius-lg,14px);
    background:#fff;
    box-shadow:var(--ps-shadow-soft);
}

.checkout-card-head{
    min-height:56px;
    padding:0 17px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border-bottom:1px solid var(--ps-border-soft);
    background:var(--ps-primary-softer,#fafaf8);
}

.checkout-card-title{
    margin:0;
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--ps-text);
    font-size:.91rem;
    font-weight:750;
}

.checkout-card-title i{
    color:var(--ps-primary);
    font-size:1rem;
}

.checkout-card-step{
    min-width:27px;
    height:27px;
    padding:0 7px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--ps-primary-border,#d8d8d3);
    border-radius:999px;
    background:#fff;
    color:var(--ps-primary);
    font-size:.65rem;
    font-weight:800;
}

.checkout-card-body{
    padding:18px;
}

/* Form fields */

.checkout-field{
    margin-bottom:0;
}

.checkout-label{
    display:block;
    margin-bottom:6px;
    color:var(--ps-text);
    font-size:.72rem;
    font-weight:700;
}

.checkout-label .req{
    color:var(--ps-danger,#c62828);
}

.checkout-input,
.checkout-select,
.checkout-textarea{
    width:100%;
    min-height:44px;
    padding:9px 11px;
    border:1px solid var(--ps-border-soft);
    border-radius:8px;
    background:#fff;
    color:var(--ps-text);
    font-size:.82rem;
    outline:0;
    box-shadow:none !important;
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.checkout-input::placeholder,
.checkout-textarea::placeholder{
    color:#999994;
}

.checkout-input:focus,
.checkout-select:focus,
.checkout-textarea:focus{
    border-color:var(--ps-primary) !important;
    box-shadow:var(--focus-ring) !important;
}

.checkout-textarea{
    min-height:96px;
    resize:vertical;
}

.checkout-field-note{
    margin-top:5px;
    color:var(--ps-muted);
    font-size:.66rem;
    line-height:1.45;
}

/* Login block */

.checkout-login-note{
    margin-bottom:14px;
    color:var(--ps-muted);
    font-size:.76rem;
    line-height:1.5;
}

.checkout-btn{
    min-height:42px;
    padding:0 15px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid;
    border-radius:8px;
    font-size:.76rem;
    font-weight:750;
    text-decoration:none !important;
    cursor:pointer;
}

.checkout-btn-primary{
    border-color:var(--ps-primary);
    background:var(--ps-primary);
    color:#fff !important;
}

.checkout-btn-primary:hover{
    border-color:var(--ps-primary-dark);
    background:var(--ps-primary-dark);
}

.checkout-btn-outline{
    border-color:var(--ps-primary-border,#d8d8d3);
    background:#fff;
    color:var(--ps-primary) !important;
}

.checkout-btn-outline:hover{
    border-color:var(--ps-primary);
    background:var(--ps-primary-soft);
    color:var(--ps-primary-dark) !important;
}

/* Order products */

.checkout-products{
    display:grid;
}

.checkout-product{
    padding:15px 17px;
    display:grid;
    grid-template-columns:82px minmax(0,1fr) auto;
    gap:13px;
    align-items:center;
    border-bottom:1px solid var(--ps-border-soft);
}

.checkout-product:last-child{
    border-bottom:0;
}

.checkout-product-img{
    width:82px;
    height:82px;
    padding:6px;
    display:block;
    border:1px solid var(--ps-border-soft);
    border-radius:10px;
    background:var(--ps-primary-softer,#fafaf8);
    object-fit:contain;
}

.checkout-product-info{
    min-width:0;
}

.checkout-product-name{
    color:var(--ps-text);
    font-size:.82rem;
    font-weight:700;
    line-height:1.4;
}

.checkout-product-variant{
    margin-top:4px;
    color:var(--ps-muted);
    font-size:.67rem;
    line-height:1.4;
}

.checkout-product-meta{
    margin-top:8px;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px 12px;
    color:var(--ps-muted);
    font-size:.67rem;
}

.checkout-product-meta strong{
    color:var(--ps-text);
}

.checkout-price-note{
    width:max-content;
    max-width:100%;
    margin-top:6px;
    padding:4px 8px;
    border:1px solid;
    border-radius:999px;
    font-size:.57rem;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.checkout-price-note.wholesale{
    border-color:var(--ps-primary-border,#d8d8d3);
    background:var(--ps-primary-soft);
    color:var(--ps-primary-dark);
}

.checkout-price-note.standard{
    border-color:#deded9;
    background:#fafaf8;
    color:#777773;
}

.checkout-product-total{
    min-width:112px;
    text-align:right;
}

.checkout-product-total-label{
    color:var(--ps-muted);
    font-size:.62rem;
}

.checkout-product-total-value{
    margin-top:2px;
    color:var(--ps-primary);
    font-size:.87rem;
    font-weight:800;
}

/* Delivery */

.checkout-delivery-box{
    padding:12px 13px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border:1px solid var(--ps-primary-border,#d8d8d3);
    border-radius:9px;
    background:var(--ps-primary-soft);
}

.checkout-delivery-copy{
    display:flex;
    align-items:center;
    gap:9px;
}

.checkout-delivery-copy i{
    color:var(--ps-primary);
    font-size:1rem;
}

.checkout-delivery-copy strong{
    display:block;
    color:var(--ps-text);
    font-size:.76rem;
}

.checkout-delivery-copy span{
    display:block;
    margin-top:2px;
    color:var(--ps-muted);
    font-size:.64rem;
}

.checkout-delivery-value{
    flex:0 0 auto;
    color:var(--ps-primary-dark);
    font-size:.86rem;
    font-weight:800;
}

/* Payment */

.checkout-payment-note{
    margin-bottom:11px;
    color:var(--ps-muted);
    font-size:.7rem;
    line-height:1.5;
}

.checkout-payment-list{
    display:grid;
    gap:9px;
}

.checkout-payment-option{
    position:relative;
    margin:0;
    padding:13px;
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    gap:10px;
    border:1px solid var(--ps-border-soft);
    border-radius:10px;
    background:#fff;
    cursor:pointer;
    transition:
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.checkout-payment-option:hover{
    border-color:var(--ps-primary-border,#d8d8d3);
    background:var(--ps-primary-softer,#fafaf8);
}

.checkout-payment-option.is-selected{
    border-color:var(--ps-primary);
    background:var(--ps-primary-soft);
    box-shadow:0 0 0 2px rgba(11,93,232,.07);
}

.checkout-payment-option input{
    width:17px;
    height:17px;
    margin:2px 0 0;
    accent-color:var(--ps-primary);
}

.checkout-payment-title{
    color:var(--ps-text);
    font-size:.78rem;
    font-weight:750;
}

.checkout-payment-sub{
    margin-top:3px;
    color:var(--ps-muted);
    font-size:.66rem;
    line-height:1.45;
}

.checkout-payment-logos{
    margin-top:8px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}

.checkout-payment-logos img{
    width:auto;
    max-width:72px;
    max-height:25px;
    object-fit:contain;
}

/* Coupon */

.checkout-coupon-toggle{
    width:100%;
    min-height:46px;
    margin-bottom:10px;
    padding:0 13px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border:1px dashed var(--ps-primary-border,#d8d8d3);
    border-radius:9px;
    background:var(--ps-primary-softer,#fafaf8);
    color:var(--ps-primary-dark) !important;
    font-size:.72rem;
    font-weight:700;
    text-decoration:none !important;
}

.checkout-coupon-toggle:hover{
    border-color:var(--ps-primary);
    background:var(--ps-primary-soft);
}

.checkout-coupon-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
}

.checkout-coupon-success{
    margin-top:9px;
    color:var(--ps-success,#168a45);
    font-size:.68rem;
    font-weight:700;
}

/* Summary */

.checkout-summary{
    overflow:hidden;
    margin-bottom:16px;
    border:1px solid var(--ps-border-soft);
    border-radius:var(--ps-radius-lg,14px);
    background:#fff;
    box-shadow:var(--ps-shadow-soft);
}

.checkout-summary-head{
    padding:17px;
    border-bottom:1px solid var(--ps-border-soft);
    background:var(--ps-primary-softer,#fafaf8);
}

.checkout-summary-head h2{
    margin:0;
    color:var(--ps-text);
    font-size:.94rem;
    font-weight:750;
}

.checkout-summary-body{
    padding:17px;
}

.checkout-summary-row{
    padding:7px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    color:var(--ps-muted);
    font-size:.75rem;
}

.checkout-summary-row strong{
    color:var(--ps-text);
    font-weight:700;
}

.checkout-summary-discount strong{
    color:var(--ps-success,#168a45);
}

.checkout-summary-divider{
    height:1px;
    margin:9px 0;
    background:var(--ps-border-soft);
}

.checkout-summary-total{
    padding-top:9px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
}

.checkout-summary-total span{
    color:var(--ps-text);
    font-size:.84rem;
    font-weight:750;
}

.checkout-summary-total strong{
    color:var(--ps-primary);
    font-size:1.25rem;
    font-weight:850;
}

.checkout-summary-note{
    margin-top:6px;
    color:var(--ps-muted);
    font-size:.64rem;
    line-height:1.45;
}

/* Order comments */

.checkout-note-label{
    margin-bottom:7px;
    display:flex;
    align-items:center;
    gap:7px;
    color:var(--ps-text);
    font-size:.73rem;
    font-weight:700;
}

.checkout-note-label i{
    color:var(--ps-primary);
}

/* Final submit */

.checkout-submit-card{
    padding:16px;
    border:1px solid var(--ps-border-soft);
    border-radius:var(--ps-radius-lg,14px);
    background:#fff;
    box-shadow:var(--ps-shadow-soft);
}

.checkout-terms{
    display:flex;
    align-items:flex-start;
    gap:9px;
    color:var(--ps-muted);
    font-size:.68rem;
    line-height:1.5;
}

.checkout-terms input{
    width:17px;
    height:17px;
    flex:0 0 auto;
    margin-top:1px;
    accent-color:var(--ps-primary);
}

.checkout-terms a{
    color:var(--ps-primary) !important;
    font-weight:700;
}

.checkout-place-order{
    width:100%;
    min-height:48px;
    margin-top:13px;
    padding:0 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid var(--ps-primary);
    border-radius:8px;
    background:var(--ps-primary);
    color:#fff;
    font-size:.81rem;
    font-weight:800;
    box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.checkout-place-order:hover{
    border-color:var(--ps-primary-dark);
    background:var(--ps-primary-dark);
}

.checkout-security{
    margin-top:12px;
    padding-top:12px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    border-top:1px solid var(--ps-border-soft);
}

.checkout-security-item{
    display:flex;
    align-items:center;
    gap:7px;
    color:var(--ps-muted);
    font-size:.62rem;
}

.checkout-security-item i{
    color:var(--ps-primary);
}

/* Added: Bank Details Dropdown styling */
.checkout-bank-details {
    display: none;
    margin-top: 14px;
    padding: 14px;
    background: #fafaf8;
    border: 1px solid #e7e7e3;
    border-radius: 8px;
    color: #475569;
    cursor: text; /* Allows users to easily select and copy text */
}

/* Automatically show the details when the bank option is selected */
.checkout-payment-option.is-selected .checkout-bank-details {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Responsive */

@media(max-width:991.98px){
    .checkout-layout{
        grid-template-columns:1fr;
    }

    .checkout-sidebar{
        position:static;
    }
}

@media(max-width:767.98px){
    .checkout-page{
        margin-bottom:34px;
        padding-top:12px;
    }

    .checkout-breadcrumb{
        margin-bottom:12px;
    }

    .checkout-hero{
        margin-bottom:16px;
        padding:19px 15px;
        border-radius:12px;
    }

    .checkout-hero-inner{
        align-items:flex-start;
        flex-direction:column;
        gap:15px;
    }

    .checkout-heading{
        align-items:flex-start;
        gap:12px;
    }

    .checkout-heading-icon{
        width:51px;
        height:51px;
        border-radius:14px;
        font-size:1.12rem;
    }

    .checkout-hero h1{
        font-size:1.32rem;
    }

    .checkout-hero-subtitle{
        font-size:.75rem;
    }

    .checkout-back-cart{
        width:100%;
    }

    .checkout-card,
    .checkout-summary,
    .checkout-submit-card{
        border-radius:12px;
    }

    .checkout-card-head{
        min-height:52px;
        padding-inline:13px;
    }

    .checkout-card-body{
        padding:14px;
    }

    .checkout-input,
    .checkout-select,
    .checkout-textarea{
        min-height:45px;
        font-size:16px;
    }

    .checkout-product{
        padding:13px;
        grid-template-columns:72px minmax(0,1fr);
        align-items:start;
    }

    .checkout-product-img{
        width:72px;
        height:72px;
    }

    .checkout-product-total{
        grid-column:2;
        min-width:0;
        margin-top:-3px;
        text-align:left;
    }

    .checkout-product-total-label{
        display:none;
    }

    .checkout-product-total-value{
        font-size:.8rem;
    }

    .checkout-coupon-form{
        grid-template-columns:1fr;
    }

    .checkout-coupon-form .checkout-btn{
        width:100%;
    }

    .checkout-summary-body,
    .checkout-summary-head{
        padding:14px;
    }

    .checkout-security{
        grid-template-columns:1fr;
    }
}

@media(max-width:390px){
    .checkout-product{
        grid-template-columns:64px minmax(0,1fr);
        gap:10px;
    }

    .checkout-product-img{
        width:64px;
        height:64px;
    }
}

/* =========================================================
   LÉVORA — CHECKOUT BANK DETAILS
   ========================================================= */

.checkout-bank-details{
    margin-top:14px;

    padding:14px;

    border:
        1px solid
        #e7e7e3;

    background:#f8f8f6;
}


.checkout-bank-holder{
    padding-bottom:11px;

    margin-bottom:12px;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:12px;

    border-bottom:
        1px solid
        #e2e2dd;
}


.checkout-bank-holder span{
    color:#777773;

    font-size:.62rem;
}


.checkout-bank-holder strong{
    color:#111111;

    font-size:.70rem;

    font-weight:600;

    text-align:right;
}


.checkout-bank-grid{
    display:grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );

    gap:10px;
}


.checkout-bank-account{
    padding:12px;

    border:
        1px solid
        #e2e2dd;

    background:#ffffff;
}


.checkout-bank-name{
    display:block;

    margin-bottom:9px;

    color:#111111;

    font-size:.72rem;

    font-weight:600;
}


.checkout-bank-line{
    margin-top:5px;

    display:flex;

    justify-content:space-between;

    gap:10px;

    color:#777773;

    font-size:.61rem;
}


.checkout-bank-line strong{
    color:#333330;

    font-weight:500;

    text-align:right;
}


.checkout-bank-number{
    color:#111111 !important;

    font-weight:600 !important;

    user-select:all;
}


.checkout-bank-note{
    margin-top:12px;

    padding-top:11px;

    display:flex;

    align-items:flex-start;

    gap:7px;

    border-top:
        1px solid
        #e2e2dd;

    color:#6f6f6b;

    font-size:.61rem;

    line-height:1.55;
}


.checkout-bank-note i{
    flex:0 0 auto;

    margin-top:1px;

    color:#111111;
}


@media(
    max-width:575.98px
){

    .checkout-bank-details{
        padding:12px;
    }


    .checkout-bank-holder{
        align-items:flex-start;

        flex-direction:column;

        gap:3px;
    }


    .checkout-bank-holder strong{
        text-align:left;
    }


    .checkout-bank-grid{
        grid-template-columns:1fr;
    }


    .checkout-bank-line{
        align-items:flex-start;
    }

}


/* =========================================================
   FINAL RESPONSIVE STABILITY LAYER
   Keep this section at the end of theme.css.
   ========================================================= */

/* Offcanvas and drawer stacking */
.offcanvas{
  z-index: 2000 !important;
}

.offcanvas-backdrop{
  z-index: 1990 !important;
}

#cartDrawer{
  z-index: 2010 !important;
  width: min(430px, 94vw);
}

/* Header stability */
.gg-logo-row,
.gg-main-nav,
.gg-topbar-inner{
  width: 100%;
  padding-left: var(--gutter-x);
  padding-right: var(--gutter-x);
}

.gg-logo-right .header-icon,
.m-icon{
  min-width: 44px;
  min-height: 44px;
}

.gg-cart-count.d-none,
.gg-cart-badge.d-none,
[data-cart-count].d-none{
  display: none !important;
}

.gg-cart-count{
  min-width: 18px;
  text-align: center;
}

.gg-cart-badge{
  z-index: 2;
}

@media (max-width: 1199.98px) and (min-width: 992px){
  .gg-main-nav .nav-link{
    padding-left: 14px;
    padding-right: 14px;
    font-size: 14px;
  }

  .gg-logo-row{
    min-height: 84px;
  }

  .gg-logo{
    height: 64px;
  }
}

/* Hero conflict resolution */
@media (min-width: 992px){
  #heroCarousel .hero-slide-bg{
    min-height: clamp(480px, 48vw, 740px);
  }

  #heroCarousel .hero-content{
    max-width: min(520px, 44vw);
  }
}

@media (max-width: 767.98px){
  :root{
    --gutter-x: 14px;
  }

  h1,.h1{
    font-size: clamp(1.75rem, 8vw, 2.35rem);
  }

  h2,.h2{
    font-size: clamp(1.45rem, 6vw, 1.9rem);
  }

  h3,.h3{
    font-size: clamp(1.2rem, 5vw, 1.55rem);
  }

  .site-container{
    padding-left: var(--gutter-x) !important;
    padding-right: var(--gutter-x) !important;
  }

  .gg-mobile-row{
    min-height: 64px;
  }

  .gg-mobile-row .site-logo{
    display: block;
    width: auto;
    max-width: min(48vw, 190px);
    height: 46px;
    object-fit: contain;
  }

  #heroCarouselMobile,
  #heroCarouselMobile .carousel-inner,
  #heroCarouselMobile .carousel-item,
  #heroCarouselMobile .hero-slide-bg,
  #heroCarouselMobile .hero-slide-bg--mobile{
    height: calc(100svh - var(--bottom-nav-h));
    min-height: 520px;
    max-height: 860px;
  }

  #heroCarouselMobile .hero-slide-bg,
  #heroCarouselMobile .hero-slide-bg--mobile{
    background-size: cover;
    background-position: center;
  }

  #heroCarouselMobile .hero-mob{
    height: 100%;
    padding:
      18px
      16px
      calc(24px + env(safe-area-inset-bottom));
  }

  #heroCarouselMobile .hero-mob-content{
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    text-align: left;
  }

  #heroCarouselMobile .hero-title{
    margin-bottom: 14px;
    font-size: clamp(1.8rem, 8vw, 2.35rem) !important;
    line-height: 1.08;
  }

  #heroCarouselMobile .hero-btn,
  #heroCarouselMobile .btn-main{
    width: min(100%, 340px);
    min-height: 50px;
    margin: 0;
  }

  .midtile{
    min-height: 430px;
  }

  .midtile-content{
    padding: 1.25rem;
  }

  .midtile-title{
    font-size: clamp(1.75rem, 9vw, 3rem);
  }

  .midtile-btn{
    min-height: 48px;
    padding: 0 1.4rem;
  }

  .midpromo-arrow{
    width: 42px;
    height: 42px;
  }

  .midpromo-prev{
    left: 10px;
  }

  .midpromo-next{
    right: 10px;
  }

  .nar-rail{
    gap: 10px;
  }

  .nar-rail > .nar-slide{
    flex-basis: calc((100% - 10px) / 2) !important;
    max-width: calc((100% - 10px) / 2) !important;
  }

  .product-title,
  .kf-card .product-title{
    font-size: .88rem;
    line-height: 1.35;
  }

  .ps-footer{
    margin-top: 44px;
  }

  .ps-footer-grid{
    width: 100%;
  }

  .ps-foot-copy{
    overflow-wrap: anywhere;
  }

  .mbottom-nav{
    left: 8px;
    right: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    width: auto;
    max-width: none;
    height: calc(var(--mb-nav-h) + env(safe-area-inset-bottom));
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
  }

  .mbottom-nav .mbitem{
    min-width: 0;
    font-size: 10px;
  }

  .mbottom-nav .mbitem span{
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mbottom-nav .mbadge{
    right: max(0px, calc(50% - 25px));
  }

  .whatsapp-fab{
    right: 12px;
    bottom: calc(
      var(--mb-nav-h)
      + 22px
      + env(safe-area-inset-bottom)
    );
    width: 52px;
    height: 52px;
  }

  .ps-toasts{
    left: 12px;
    right: 12px;
    bottom: calc(
      var(--mb-nav-h)
      + 18px
      + env(safe-area-inset-bottom)
    );
  }

  .ps-toast{
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .checkout-page{
    width: 100%;
    margin-bottom: 24px;
  }

  .checkout-table-wrap{
    margin-left: -10px;
    margin-right: -10px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .checkout-table{
    min-width: 680px;
  }

  .checkout-submit-row{
    position: relative;
    flex-direction: column;
    align-items: stretch;
  }

  .checkout-submit-row .btn,
  .checkout-btn-primary,
  .checkout-btn-outline{
    width: 100%;
  }

  .pd-action,
  .contact-actions{
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .pd-action form,
  .pd-action .btn,
  .contact-actions .btn{
    width: 100%;
  }
}

@media (max-width: 420px){
  :root{
    --gutter-x: 12px;
  }

  .btn-primary,
  .btn-main,
  .btn-accent,
  .btn-outline-primary,
  .btn-main-outline,
  .btn-outline-accent{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .gg-mobile-row .site-logo{
    max-width: 46vw;
    height: 42px;
  }

  .mbottom-nav{
    left: 6px;
    right: 6px;
  }

  .mbottom-nav .mbitem i{
    font-size: 19px;
  }

  .mbottom-nav .mbitem{
    font-size: 9.5px;
  }

  #shopByCategory .cat-split-card{
    height: 205px !important;
  }

  .checkout-product-img{
    width: 74px;
  }
}

/* Make long values and URLs safe everywhere */
.order-meta,
.ps-contact-text,
.contact-info-item,
.checkout-product-name,
.product-title,
.gl-post-h,
.gl-post-ex{
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Touch devices should not depend on hover */
@media (hover: none){
  .gl-post-card:hover,
  .benefit-item:hover,
  #shopByCategory .cat-split-item:hover{
    transform: none;
  }

  .pd-main-wrap:hover .pd-main-img,
  .midtile:hover .midtile-bg{
    transform: none;
  }
}


/* =========================================================
   READABILITY / TYPOGRAPHY IMPROVEMENT LAYER
   Keep this block at the END of theme.css.
   ========================================================= */

:root{
  --fs-base:16px;
  --lh-base:1.55;
  --ps-text:#111111;
  --ps-muted:#6f6f6b;
  --pz-text:#111111;
  --pz-muted:#6f6f6b;
}

body{
  font-family:"DM Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:var(--fs-base);
  line-height:var(--lh-base);
  font-weight:400;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

p,li,label,input,select,textarea,button,td,th{
  line-height:1.5;
}

.text-muted{
  color:#6f6f6b !important;
}

h1,.h1,h2,.h2,h3,.h3{
  font-weight:700;
}

h4,.h4,h5,.h5,h6,.h6{
  font-weight:650;
}

.form-label{
  font-size:.91rem;
  font-weight:650;
}

.form-control,
.form-select,
textarea.form-control{
  font-size:.94rem;
}

.form-text,
.invalid-feedback{
  font-size:.82rem;
  line-height:1.45;
}

.btn,
.btn-primary,
.btn-main,
.btn-accent,
.btn-outline-primary,
.btn-main-outline,
.btn-outline-accent{
  font-size:.92rem;
  font-weight:650;
}

/* Header */
.pz-contact-strip-inner{font-size:12.5px}
.pz-action-copy small{font-size:11px;color:#6f6f6b}
.pz-action-copy strong{font-size:13px}
.pz-primary-nav > a{font-size:13.5px;font-weight:650}
.pz-nav-support{font-size:12.5px}
.pz-category-child-links a{font-size:12.5px;color:#6f6f6b !important}

/* Search */
.ps-suggest .name,
.pz-search-shell .ps-suggest .name{
  font-size:13.5px;
  font-weight:600;
}
.ps-suggest .price,
.pz-search-shell .ps-suggest .price{
  font-size:13px;
  font-weight:750;
}

/* Mobile navigation */
.mbottom-nav .mbitem{
  font-size:11px;
  font-weight:650;
}

/* Homepage/product cards */
.product-title,
.kf-card .product-title{
  font-size:.92rem;
  line-height:1.4;
  font-weight:600;
}

.benefit-sub,
.trust-item p{
  color:#6f6f6b;
}

/* Product page */
.pd-breadcrumb{font-size:12.5px}
.pd-stock-badge,
.pd-brand-label{font-size:11.5px}
.pd-rating-row{font-size:12.5px}
.pd-price-caption,
.pd-price-note{font-size:12px}
.pd-option-label{font-size:12.5px}
.pd-sizebtn strong{font-size:12px}
.pd-sizebtn small{font-size:10.5px}
.pd-service-button,
.pd-wholesale-state{font-size:12px}
.btn-pd-buy,
.btn-pd-cart{font-size:12.5px}
.pd-trust-strip strong{font-size:10.5px}
.pd-trust-strip small{font-size:9.5px;color:#6f6f6b}
.site-notice-box{font-size:12.5px}
.pd-acc-header{font-size:12.5px}
.pd-acc-body{font-size:13px;color:#6f6f6b}

/* Cart drawer */
#cartDrawer .cart-mini-line .flex-grow-1 > .fw-semibold.small.mb-1{
  font-size:.76rem !important;
}
#cartDrawer .cart-mini-line .flex-grow-1 > .small.text-muted.mb-1{
  font-size:.66rem !important;
  color:#6f6f6b !important;
}
#cartDrawer .cart-mini-line .d-flex.align-items-center.justify-content-between.small{
  font-size:.69rem !important;
}
#cartDrawer .cart-mini-line .text-success{
  font-size:.58rem !important;
}
#cartDrawer .cart-mini-footer .btn-primary,
#cartDrawer .cart-mini-footer .btn-outline-secondary{
  font-size:.74rem;
}

/* Checkout */
.checkout-kicker{font-size:.72rem}
.checkout-hero-subtitle{font-size:.85rem}
.checkout-wholesale-pill{font-size:.72rem}
.checkout-card-title{font-size:.95rem}
.checkout-label{font-size:.79rem;font-weight:650}
.checkout-input,
.checkout-select,
.checkout-textarea{font-size:.88rem}
.checkout-field-note{font-size:.72rem;color:#6f6f6b}
.checkout-login-note{font-size:.8rem}
.checkout-product-name{font-size:.88rem}
.checkout-product-variant,
.checkout-product-meta{font-size:.73rem;color:#6f6f6b}
.checkout-price-note{font-size:.64rem}
.checkout-product-total-label{font-size:.68rem}
.checkout-product-total-value{font-size:.93rem}
.checkout-delivery-copy strong{font-size:.8rem}
.checkout-delivery-copy span{font-size:.7rem}
.checkout-payment-note{font-size:.76rem}
.checkout-payment-title{font-size:.84rem}
.checkout-payment-sub{font-size:.72rem}
.checkout-coupon-toggle{font-size:.78rem}
.checkout-summary-row{font-size:.8rem}
.checkout-summary-note{font-size:.7rem}
.checkout-note-label{font-size:.78rem}
.checkout-terms{font-size:.73rem}
.checkout-place-order{font-size:.86rem}
.checkout-security-item{font-size:.7rem}

/* Footer */
.ps-footer-promo-copy span{font-size:12px}
.ps-footer-promo-button{font-size:12px}
.ps-foot-title{font-size:13px}
.ps-foot-copy{font-size:12px}
.ps-foot-list a{font-size:12px;line-height:1.55}
.ps-foot-contact li{font-size:12px}
.ps-foot-newsletter > p{font-size:12px}
.ps-foot-newsletter-form input,
.ps-foot-newsletter-form button{font-size:12px}
.ps-foot-bottom{font-size:11px}
.ps-newsletter-alert{font-size:11px}

/* Blog/reviews */
.zee-proof-sub{color:#6f6f6b}
.gl-posts-sub,
.gl-post-ex{color:#6f6f6b}

@media(max-width:767.98px){
  body{font-size:16px}
  .product-title,
  .kf-card .product-title{font-size:.9rem}
  .checkout-label{font-size:.8rem}
  .ps-foot-copy,
  .ps-foot-list a,
  .ps-foot-contact li,
  .ps-foot-newsletter > p{font-size:12px}
}

@media(max-width:420px){
  .mbottom-nav .mbitem{font-size:10px}
}

/* =========================================================
   FIX: FORCE HERO BANNER EDGE-TO-EDGE ON MOBILE
   ========================================================= */
@media (max-width: 767.98px) {
  .ps-hero-section {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50% !important;
    margin-left: -50vw !important;
    right: auto !important;
    margin-right: 0 !important;
  }
}


/* =========================================================
   PREMIUM SEARCH SUGGESTIONS (Price Under Name - All Screens)
   ========================================================= */

.ps-suggest {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  padding: 8px !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12) !important;
  border: 1px solid #e7e7e3 !important;
  background: #ffffff !important;
}

/* 2-Column, 2-Row Grid layout applied to Desktop AND Mobile */
.ps-suggest .item {
  display: grid !important;
  grid-template-columns: 50px minmax(0, 1fr) !important; 
  grid-template-rows: auto auto !important; 
  gap: 4px 14px !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  border-bottom: 1px solid #f0f0ed !important;
  background: transparent !important;
  align-items: center !important;
  transition: all 0.2s ease !important;
}

.ps-suggest .item:last-child {
  border-bottom: none !important;
}

.ps-suggest .item:hover,
.ps-suggest .item.active {
  background: #fafaf8 !important;
  transform: translateX(4px) !important;
  border-bottom-color: transparent !important;
}

/* Image spans 2 rows on the left */
.ps-suggest .ps-sg-thumb,
.ps-suggest img {
  width: 50px !important;
  height: 50px !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important; 
  border-radius: 8px !important;
  padding: 4px !important;
  border: 1px solid #e7e7e3 !important;
  object-fit: contain !important;
  background: #ffffff !important;
}

/* Name stays on the top right */
.ps-suggest .name {
  grid-column: 2 !important;
  grid-row: 1 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #1e293b !important;
  line-height: 1.4 !important;
  margin-bottom: -2px !important;
}

/* Price drops to the bottom right */
.ps-suggest .price {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: inline-flex !important;
  width: max-content !important;
  margin-left: 0 !important;
  padding: 4px 10px !important;
  background: #fafaf8 !important;
  border: 1px solid #e7e7e3 !important;
  border-radius: 6px !important;
  color: #000000 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  transition: all 0.2s ease !important;
}

.ps-suggest .item:hover .price {
  background: #ffffff !important;
  border-color: #d8d8d3 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.06) !important;
}

/* Empty & Loading States */
.ps-suggest .empty,
.ps-suggest .loading {
  padding: 24px 18px !important;
  color: #777773 !important;
  font-size: 13px !important;
  text-align: center !important;
  font-weight: 600 !important;
}

/* =========================================================
   MOBILE RESPONSIVE TWEAKS FOR SUGGESTIONS
   ========================================================= */
@media (max-width: 991.98px) {
  .ps-suggest {
    max-height: min(480px, 75vh) !important; 
  }

  .pz-mobile-menu-search .ps-suggest {
    position: relative !important;
    top: 6px !important;
    box-shadow: none !important;
    max-height: 380px !important;
  }

  /* Shrink elements slightly to fit better on phones */
  .ps-suggest .item {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    gap: 4px 12px !important;
  }

  .ps-suggest .ps-sg-thumb,
  .ps-suggest img {
    width: 46px !important;
    height: 46px !important;
  }
  
  .ps-suggest .name {
    font-size: 12px !important;
  }

  .ps-suggest .price {
    padding: 3px 8px !important;
    font-size: 11px !important;
  }
}
/* =========================================================
   LÉVORA — FINAL MONOCHROME DESIGN LAYER
   Keep this block at the END of theme.css.
   It intentionally overrides legacy visual rules while preserving
   every existing selector used by PHP and JavaScript.
   ========================================================= */

:root{
  color-scheme: light;

  --ps-primary:#111111;
  --ps-primary-dark:#000000;
  --ps-primary-hover:#292929;
  --ps-primary-soft:#f5f5f3;
  --ps-primary-softer:#fafaf8;
  --ps-primary-border:#deded9;

  --ps-bg:#ffffff;
  --ps-card:#ffffff;
  --ps-text:#111111;
  --ps-heading:#0a0a0a;
  --ps-muted:#6f6f6b;
  --ps-light-text:#8c8c87;

  --ps-border-soft:#e7e7e3;
  --ps-border:#d8d8d3;
  --ps-border-strong:#111111;

  --ps-success:#26734d;
  --ps-success-soft:#edf7f1;
  --ps-danger:#b42318;
  --ps-danger-soft:#fff1f0;
  --ps-warning:#8a6427;
  --ps-warning-soft:#fff8e8;

  --ps-radius:0px;
  --ps-radius-sm:4px;
  --ps-radius-md:8px;
  --ps-radius-lg:10px;
  --ps-radius-pill:999px;

  --ps-shadow-soft:0 5px 18px rgba(0,0,0,.035);
  --ps-shadow-card:0 8px 26px rgba(0,0,0,.055);
  --ps-shadow-float:0 20px 50px rgba(0,0,0,.10);

  --container-max:1480px;
  --gutter-x:24px;
  --ps-section-gap:clamp(48px,7vw,104px);

  --control-h:46px;
  --control-radius:0px;
  --focus-ring:0 0 0 3px rgba(17,17,17,.10);

  --fs-base:15px;
  --lh-base:1.6;

  --pz-header-max:1480px;
  --pz-blue:#111111;
  --pz-blue-dark:#000000;
  --pz-blue-hover:#292929;
  --pz-blue-soft:#f5f5f3;
  --pz-blue-softer:#fafaf8;
  --pz-blue-border:#deded9;
  --pz-navy:#111111;
  --pz-text:#111111;
  --pz-muted:#70706c;
  --pz-line:#e7e7e3;
  --pz-soft:#f7f7f5;
  --pz-white:#ffffff;
  --pz-green:#16a34a;
  --pz-radius:0px;
  --pz-shadow:0 20px 50px rgba(0,0,0,.10);
  --pz-focus:0 0 0 3px rgba(17,17,17,.10);
}

body{
  background:#fff;
  color:var(--ps-text);
  font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:var(--fs-base);
  font-weight:400;
  line-height:var(--lh-base);
  letter-spacing:-.006em;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,.h1,
h2,.h2,
h3,.h3,
h4,.h4,
h5,.h5,
h6,.h6{
  color:var(--ps-heading);
  font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

h1,.h1{
  font-size:clamp(2.15rem,4vw,3.8rem);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.035em;
}

h2,.h2{
  font-size:clamp(1.65rem,3vw,2.65rem);
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.03em;
}

h3,.h3{
  font-size:clamp(1.25rem,2.2vw,1.75rem);
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.018em;
}

h4,.h4,
h5,.h5,
h6,.h6{
  font-weight:500;
  letter-spacing:-.008em;
}

a{
  color:#111111;
}

a:hover{
  color:#000000;
}

.text-muted{
  color:#6f6f6b !important;
}

::selection{
  background:#111111;
  color:#ffffff;
}

/* ---------------------------------------------------------
   GLOBAL BUTTONS
   --------------------------------------------------------- */

.btn-primary,
.btn-main,
.btn-accent,
.checkout-btn-primary,
.checkout-place-order{
  border:1px solid #111111 !important;
  border-radius:0 !important;
  background:#111111 !important;
  color:#ffffff !important;
  box-shadow:none !important;
  font-weight:600;
  letter-spacing:.035em;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-main:hover,
.btn-main:focus,
.btn-accent:hover,
.btn-accent:focus,
.checkout-btn-primary:hover,
.checkout-place-order:hover{
  border-color:#111111 !important;
  background:#ffffff !important;
  color:#111111 !important;
}

.btn-outline-primary,
.btn-main-outline,
.btn-outline-accent,
.checkout-btn-outline{
  border:1px solid #111111 !important;
  border-radius:0 !important;
  background:#ffffff !important;
  color:#111111 !important;
  box-shadow:none !important;
  font-weight:600;
}

.btn-outline-primary:hover,
.btn-main-outline:hover,
.btn-outline-accent:hover,
.checkout-btn-outline:hover{
  background:#111111 !important;
  color:#ffffff !important;
}

/* ---------------------------------------------------------
   FORMS
   --------------------------------------------------------- */

.form-label{
  color:#111111;
  font-size:.88rem;
  font-weight:500;
}

.form-control,
.form-select,
textarea.form-control,
.input-group-text{
  border-color:#d8d8d3;
  border-radius:0 !important;
  background:#ffffff;
  color:#111111;
}

.form-control:focus,
.form-select:focus,
textarea.form-control:focus{
  border-color:#111111 !important;
  box-shadow:var(--focus-ring) !important;
}

.form-control::placeholder,
textarea.form-control::placeholder{
  color:#92928d;
}

.form-check-input:checked{
  background-color:#111111;
  border-color:#111111;
}

/* =========================================================
   HEADER — PREMIUM BLACK / WHITE
   ========================================================= */

.pz-header{
  background:#ffffff;
  color:#111111;
  border-bottom:1px solid #e7e7e3;
  box-shadow:none;
}

.pz-header-container{
  width:min(calc(100% - 48px),var(--pz-header-max));
}

.pz-contact-strip{
  background:#111111;
  color:rgba(255,255,255,.80);
}

.pz-contact-strip-inner{
  min-height:36px;
  font-size:11.5px;
  font-weight:400;
  letter-spacing:.015em;
}

.pz-contact-item,
.pz-contact-right a{
  color:rgba(255,255,255,.80) !important;
  font-weight:400;
}

.pz-contact-item i{
  color:rgba(255,255,255,.64);
}

.pz-desktop-main{
  background:#ffffff;
  border-bottom:1px solid #e7e7e3;
}

.pz-desktop-main-inner{
  min-height:96px;
  grid-template-columns:230px minmax(340px,1fr) auto;
  gap:clamp(26px,3vw,50px);
}

.pz-desktop-logo{
  max-width:220px;
}

.pz-desktop-logo img{
  height:62px;
}

.pz-search-shell{
  min-height:50px;
  border:1px solid #d8d8d3;
  border-radius:0;
  background:#ffffff;
}

.pz-search-shell:focus-within{
  border-color:#111111;
  box-shadow:var(--pz-focus);
}

.pz-search-leading{
  left:19px;
  color:#74746f;
  font-size:18px;
}

.pz-search-shell .form-control{
  min-height:50px;
  padding-left:56px;
  border-radius:0 !important;
  color:#111111;
  font-size:14px;
  font-weight:400;
}

.pz-search-shell .form-control::placeholder{
  color:#777773;
}

.pz-search-submit{
  min-width:118px;
  border-left:1px solid #111111;
  border-radius:0;
  background:#111111;
  color:#ffffff;
  font-size:12px;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.pz-search-submit:hover,
.pz-search-submit:focus{
  background:#000000;
}

.pz-desktop-actions{
  gap:26px;
}

.pz-action-card{
  gap:9px;
  color:#111111 !important;
}

.pz-action-icon{
  width:34px;
  height:38px;
  color:#111111;
  font-size:23px;
}

.pz-action-whatsapp .pz-action-icon{
  color:#12a34a;
}

.pz-action-copy{
  gap:2px;
  line-height:1.15;
}

.pz-action-copy small{
  color:#777773;
  font-size:10.5px;
  font-weight:400;
}

.pz-action-copy strong{
  color:#111111;
  font-size:12.5px;
  font-weight:600;
}

.pz-action-card:hover .pz-action-icon,
.pz-action-card:hover .pz-action-copy strong{
  color:#111111;
  opacity:.68;
}

.pz-cart-badge{
  background:#111111;
  color:#ffffff;
  border-color:#ffffff;
  font-weight:600;
}

.pz-desktop-nav{
  background:#ffffff;
  border-bottom:1px solid #e7e7e3;
}

.pz-desktop-nav-inner{
  min-height:58px;
  grid-template-columns:250px 1fr auto;
  gap:58px;
}

.pz-category-button{
  height:44px;
  margin-block:7px;
  border:1px solid #111111;
  border-radius:0;
  background:#111111;
  color:#ffffff;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.075em;
  text-transform:uppercase;
}

.pz-category-button:hover,
.pz-category-button[aria-expanded="true"]{
  background:#000000;
  border-color:#000000;
}

.pz-primary-nav{
  justify-content:center;
  gap:clamp(30px,3vw,54px);
}

.pz-primary-nav > a{
  min-height:58px;
  color:#191919 !important;
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.pz-primary-nav > a::after{
  height:1px;
  background:#111111;
}

.pz-primary-nav > a:hover,
.pz-primary-nav > a.active,
.pz-primary-nav > a:focus-visible{
  color:#000000 !important;
}

.pz-nav-support{
  color:#111111 !important;
  font-size:11.5px;
  font-weight:500;
}

.pz-nav-support:hover{
  color:#111111 !important;
  opacity:.62;
}

/* Header dropdowns */

.pz-category-menu,
.pz-vertical-menu,
.pz-flyout{
  border-color:#e7e7e3;
  border-radius:0 !important;
  background:#ffffff;
  box-shadow:0 22px 55px rgba(0,0,0,.10);
}

.pz-category-menu-head{
  border-color:#e7e7e3;
  background:#fafaf8;
}

.pz-category-group-title,
.pz-vertical-link,
.pz-flyout-list a{
  color:#111111 !important;
  font-weight:500;
}

.pz-category-child-links a{
  color:#6f6f6b !important;
  font-weight:400;
}

.pz-category-group-title:hover > span,
.pz-category-child-links a:hover,
.pz-vertical-link:hover,
.pz-flyout-list a:hover{
  color:#000000 !important;
}

.pz-vertical-link:hover,
.pz-flyout-list a:hover{
  background:#f7f7f5;
}

.pz-cat-name{
  font-size:.86rem;
  font-weight:500;
}

.btn-view-all-cats{
  border-radius:0 !important;
  background:#111111;
  color:#ffffff !important;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.075em;
  text-transform:uppercase;
}

.btn-view-all-cats:hover{
  background:#000000;
  color:#ffffff !important;
}

/* Mobile header */

.pz-mobile-header{
  border-bottom:1px solid #e7e7e3;
  background:#ffffff;
  box-shadow:0 4px 16px rgba(0,0,0,.04);
}

.pz-mobile-icon{
  border-radius:0;
  color:#111111 !important;
}

.pz-mobile-icon:hover,
.pz-mobile-icon:focus-visible{
  background:#f5f5f3;
  color:#111111 !important;
}

.pz-mobile-search .pz-search-shell,
.pz-mobile-menu-search .pz-search-shell{
  border-color:#e7e7e3;
  border-radius:0;
  background:#fafaf8;
}

.pz-mobile-search-button{
  right:0;
  width:44px;
  height:44px;
  border-radius:0;
  border-left:1px solid #111111;
  background:#111111;
}

.pz-mobile-menu .offcanvas-header{
  border-color:#e7e7e3;
}

.pz-mobile-section-title{
  color:#92928d;
  font-size:9.5px;
  font-weight:600;
  letter-spacing:.17em;
}

.pz-mobile-links > a,
.pz-mobile-category-single,
.pz-mobile-categories .accordion-button{
  color:#111111 !important;
  font-weight:500;
}

.pz-mobile-links > a{
  border-color:#ecece8;
}

.pz-mobile-links > a i{
  color:#777773;
}

.pz-mobile-categories .accordion-body a{
  color:#6f6f6b !important;
}

.pz-mobile-category-all,
.pz-mobile-categories .accordion-button:not(.collapsed){
  color:#111111 !important;
}

/* =========================================================
   SEARCH SUGGESTIONS — CLEAN FASHION STYLE
   ========================================================= */

.ps-suggest,
.pz-search-shell .ps-suggest,
.pz-desktop-search .ps-suggest,
.pz-mobile-search .ps-suggest,
.pz-mobile-menu-search .ps-suggest{
  border:1px solid #e7e7e3 !important;
  border-radius:0 !important;
  background:#ffffff !important;
  box-shadow:0 18px 45px rgba(0,0,0,.10) !important;
}

.ps-suggest .item{
  border-radius:0 !important;
  border-bottom:1px solid #f0f0ed !important;
  background:#ffffff !important;
  transform:none !important;
}

.ps-suggest .item:hover,
.ps-suggest .item.active{
  background:#f7f7f5 !important;
  transform:none !important;
}

.ps-suggest .ps-sg-thumb,
.ps-suggest img{
  border-radius:0 !important;
  border-color:#e7e7e3 !important;
  background:#f7f7f5 !important;
}

.ps-suggest .name{
  color:#111111 !important;
  font-size:12.5px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}

.ps-suggest .price{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#111111 !important;
  font-size:12px !important;
  font-weight:600 !important;
  box-shadow:none !important;
}

.ps-suggest .empty,
.ps-suggest .loading{
  color:#777773 !important;
  font-weight:400 !important;
}

/* =========================================================
   HERO — SUPPORTS BOTH OLD AND NEW HERO MARKUP
   Full viewport width. No forced desktop height/crop.
   ========================================================= */

.ps-hero-section{
  position:relative !important;
  left:50% !important;
  right:auto !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:-50vw !important;
  margin-right:0 !important;
  margin-top:0 !important;
  margin-bottom:clamp(24px,3vw,46px) !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#111111;
}

.ps-hero-section .carousel,
.ps-hero-section .carousel-inner,
.ps-hero-section .carousel-item,
#heroCarousel,
#heroCarousel .carousel-inner,
#heroCarousel .carousel-item,
#heroCarouselMobile,
#heroCarouselMobile .carousel-inner,
#heroCarouselMobile .carousel-item{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}

.ps-hero-slide,
.ps-hero-mobile-card{
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  overflow:hidden !important;
  display:block !important;
  background:#111111 !important;
}

.ps-hero-image,
.ps-hero-mobile-image{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#111111;
  transform:none !important;
  animation:none !important;
}

/* New hero markup */

.ps-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.56) 0%,
      rgba(0,0,0,.34) 28%,
      rgba(0,0,0,.14) 50%,
      rgba(0,0,0,0) 78%
    );
}

.ps-hero-content-wrap{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  align-items:center;
  pointer-events:none;
}

.ps-hero-content-container{
  width:min(calc(100% - 120px),1280px);
  margin-inline:auto;
}

.ps-hero-content{
  width:min(620px,48vw);
  color:#ffffff;
  pointer-events:auto;
}

.ps-hero-subtitle{
  margin:0 0 12px;
  color:rgba(255,255,255,.90);
  font-size:clamp(.68rem,.9vw,.9rem);
  font-weight:500;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.ps-hero-title{
  max-width:700px;
  margin:0;
  color:#ffffff;
  font-size:clamp(2.25rem,4.1vw,4.45rem);
  font-weight:500;
  line-height:1;
  letter-spacing:-.04em;
}

.ps-hero-cta{
  min-width:168px;
  min-height:48px;
  margin-top:26px;
  padding:0 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid #ffffff;
  border-radius:0;
  background:#ffffff;
  color:#111111 !important;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.10em;
  text-transform:uppercase;
  text-decoration:none !important;
}

.ps-hero-cta:hover,
.ps-hero-cta:focus{
  background:transparent;
  color:#ffffff !important;
}

/* Old hero markup compatibility */

.ps-hero-actions-wrap{
  position:absolute;
  left:0;
  right:0;
  bottom:clamp(16px,3vw,38px);
  z-index:4;
  pointer-events:none;
}

.ps-hero-actions{
  width:min(calc(100% - 120px),1480px);
  margin-inline:auto;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  pointer-events:auto;
}

.ps-hero-button{
  min-height:44px;
  padding:0 18px;
  border-radius:0;
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ps-hero-button-primary{
  border-color:#ffffff;
  background:#ffffff;
  color:#111111 !important;
  box-shadow:none;
}

.ps-hero-button-primary:hover{
  border-color:#ffffff;
  background:transparent;
  color:#ffffff !important;
}

.ps-hero-button-outline{
  border-color:rgba(255,255,255,.72);
  background:rgba(0,0,0,.12);
  color:#ffffff !important;
}

.ps-hero-button-outline:hover{
  border-color:#ffffff;
  background:#ffffff;
  color:#111111 !important;
}

/* Hero controls */

.ps-hero-control{
  top:50% !important;
  bottom:auto !important;
  width:48px !important;
  height:48px !important;
  margin-top:-24px !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.70);
  border-radius:999px;
  background:rgba(0,0,0,.18) !important;
  color:#ffffff !important;
  opacity:1 !important;
  box-shadow:none !important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

.ps-hero-control.carousel-control-prev,
.ps-hero-control-prev{
  left:28px !important;
}

.ps-hero-control.carousel-control-next,
.ps-hero-control-next{
  right:28px !important;
}

.ps-hero-control:hover{
  background:#111111 !important;
  border-color:#111111;
}

.ps-hero-indicators{
  margin-bottom:16px;
  gap:6px;
}

.ps-hero-indicators [data-bs-target],
.ps-hero-mobile-indicators [data-bs-target]{
  width:20px;
  height:2px;
  margin:0;
  border:0;
  border-radius:0;
  background:rgba(255,255,255,.52);
  opacity:1;
}

.ps-hero-indicators .active,
.ps-hero-mobile-indicators .active{
  background:#ffffff;
}

@media(max-width:767.98px){
  #heroArea,
  .ps-hero-section,
  #heroCarouselMobile,
  #heroCarouselMobile .carousel-inner,
  #heroCarouselMobile .carousel-item,
  #heroCarouselMobile .ps-hero-mobile-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  .ps-hero-section{
    left:50% !important;
    width:100vw !important;
    max-width:100vw !important;
    margin-left:-50vw !important;
    margin-bottom:24px !important;
    overflow:hidden !important;
    background:#111111 !important;
  }

  .ps-hero-mobile-card{
    position:relative !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    background:#111111 !important;
  }

  .ps-hero-mobile-image{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center !important;
    background:#111111 !important;
  }

  .ps-hero-mobile-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(
        0deg,
        rgba(0,0,0,.64) 0%,
        rgba(0,0,0,.34) 32%,
        rgba(0,0,0,.08) 58%,
        rgba(0,0,0,0) 78%
      );
  }

  .ps-hero-mobile-content{
    position:absolute;
    left:18px;
    right:18px;
    bottom:34px;
    z-index:3;
    color:#ffffff;
  }

  .ps-hero-mobile-subtitle{
    margin-bottom:6px;
    color:rgba(255,255,255,.88);
    font-size:.55rem;
    font-weight:500;
    letter-spacing:.14em;
    text-transform:uppercase;
  }

  .ps-hero-mobile-title{
    max-width:310px;
    margin:0;
    color:#ffffff;
    font-size:clamp(1.35rem,7.5vw,2.15rem);
    font-weight:500;
    line-height:1.02;
    letter-spacing:-.03em;
  }

  .ps-hero-mobile-cta,
  .ps-hero-mobile-overlay-button{
    min-height:37px;
    margin-top:14px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid #ffffff !important;
    border-radius:0 !important;
    background:#ffffff !important;
    color:#111111 !important;
    box-shadow:none !important;
    font-size:.56rem;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    text-decoration:none !important;
  }

  .ps-hero-mobile-overlay-button{
    position:absolute;
    left:16px;
    bottom:16px;
    z-index:4;
    margin-top:0;
  }

  .ps-hero-mobile-indicators{
    position:absolute;
    left:18px;
    right:auto;
    bottom:12px;
    z-index:5;
    width:auto;
    min-height:0;
    margin:0;
    padding:0;
    display:flex;
    justify-content:flex-start;
    gap:5px;
    background:transparent;
  }

  .ps-hero-mobile-indicators .active{
    width:28px;
  }
}

/* =========================================================
   CART DRAWER — NEUTRAL PREMIUM
   ========================================================= */

#cartDrawer{
  border-left:1px solid #e7e7e3;
  background:#ffffff;
  color:#111111;
  box-shadow:-18px 0 48px rgba(0,0,0,.12);
}

#cartDrawer .offcanvas-header{
  border-bottom:1px solid #e7e7e3 !important;
  background:#ffffff;
}

#cartDrawer .offcanvas-title{
  color:#111111;
  font-weight:600;
}

#cartDrawer .offcanvas-title::before{
  border-color:#deded9;
  border-radius:0;
  background:#f7f7f5;
  color:#111111;
}

#cartDrawer .offcanvas-title [data-cart-count]{
  background:#111111 !important;
  font-weight:600;
}

#cartDrawer .btn-close{
  border-color:#e7e7e3;
  border-radius:0;
}

#cartDrawer .btn-close:hover{
  border-color:#111111;
  background-color:#f7f7f5;
}

#cartDrawer .cart-mini-items > .p-4.text-center{
  border-color:#d8d8d3;
  border-radius:0;
  background:#fafaf8;
}

#cartDrawer .cart-mini-items > .p-4.text-center::before{
  border-color:#deded9;
  background:#ffffff;
  color:#111111;
}

#cartDrawer .cart-mini-line{
  border-color:#e7e7e3 !important;
  border-radius:0;
  box-shadow:none;
}

#cartDrawer .cart-mini-line:hover{
  border-color:#bdbdb7 !important;
  box-shadow:none;
}

#cartDrawer .cart-mini-line img{
  border-color:#e7e7e3;
  border-radius:0 !important;
  background:#f7f7f5;
}

#cartDrawer .cart-mini-line .flex-grow-1 > .fw-semibold.small.mb-1{
  color:#111111;
  font-weight:500 !important;
}

#cartDrawer .cart-mini-line .d-flex.align-items-center.justify-content-between.small .fw-semibold{
  color:#111111;
  font-weight:600 !important;
}

#cartDrawer .cart-mini-line .d-flex.align-items-center.justify-content-between.small .text-muted{
  border-color:#e7e7e3;
  background:#fafaf8;
  color:#6f6f6b !important;
}

#cartDrawer .cart-mini-line .text-success{
  border-color:#d5e9db;
  background:#edf7f1;
  color:#26734d !important;
}

#cartDrawer .cart-mini-footer{
  border-color:#e7e7e3 !important;
  box-shadow:0 -10px 26px rgba(0,0,0,.04);
}

#cartDrawer .cart-mini-footer > .d-flex.justify-content-between.mb-2{
  border-color:#e7e7e3;
  border-radius:0;
  background:#fafaf8;
}

#cartDrawer .cart-mini-footer > .d-flex.justify-content-between.mb-2 .fw-bold{
  color:#111111;
  font-weight:600 !important;
}

#cartDrawer .cart-mini-footer .btn-primary{
  border-radius:0 !important;
  border-color:#111111 !important;
  background:#111111 !important;
  box-shadow:none;
  font-weight:600;
}

#cartDrawer .cart-mini-footer .btn-primary:hover{
  background:#ffffff !important;
  color:#111111 !important;
}

#cartDrawer .cart-mini-footer .btn-outline-secondary{
  border-radius:0;
  border-color:#111111 !important;
  background:#ffffff !important;
  color:#111111 !important;
  font-weight:600;
}

#cartDrawer .cart-mini-footer .btn-outline-secondary:hover{
  background:#111111 !important;
  color:#ffffff !important;
}

/* =========================================================
   PRODUCT PAGE — MONOCHROME
   ========================================================= */

.pd-page{
  --pd-blue:#111111;
  --pd-blue-dark:#000000;
  --pd-blue-soft:#f5f5f3;
  --pd-blue-softer:#fafaf8;
  --pd-navy:#111111;
  --pd-text:#111111;
  --pd-muted:#6f6f6b;
  --pd-line:#e7e7e3;
  --pd-soft:#f7f7f5;
}

.pd-main-stage{
  border-color:#e7e7e3;
  border-radius:0;
  background:#f7f7f5;
}

.pd-main-image{
  background:#f7f7f5;
}

.pd-gallery-badge{
  border-radius:0;
  background:#111111;
}

.pd-thumb-btn{
  border-color:#e7e7e3;
  border-radius:0;
}

.pd-thumb-btn:hover,
.pd-thumb-btn.active{
  border-color:#111111;
  box-shadow:0 0 0 1px #111111;
}

.pd-gallery-nav,
.pd-gallery-zoom{
  border-color:#d8d8d3;
  background:#ffffff;
  color:#111111;
  box-shadow:0 8px 22px rgba(0,0,0,.07);
}

.pd-gallery-nav:hover,
.pd-gallery-zoom:hover{
  background:#111111;
  border-color:#111111;
  color:#ffffff;
}

.pd-title{
  color:#111111;
  font-weight:500;
  letter-spacing:-.025em;
}

.pd-price{
  color:#111111 !important;
  font-weight:600;
}

.pd-option-label{
  color:#4f4f4b;
  font-weight:500;
}

.pd-sizebtn{
  border-color:#e7e7e3;
  border-radius:0;
}

.pd-sizebtn:hover,
.pd-sizebtn.active{
  border-color:#111111;
  background:#f7f7f5;
  color:#111111;
  box-shadow:none;
}

.pd-service-button,
.pd-wholesale-state,
.btn-pd-buy,
.btn-pd-cart{
  border-radius:0;
}

.btn-pd-buy,
.btn-pd-cart{
  border-color:#111111;
  background:#111111;
  color:#ffffff;
  font-weight:600;
}

.btn-pd-buy:hover,
.btn-pd-cart:hover{
  background:#ffffff;
  color:#111111;
}

.pd-trust-strip{
  border-color:#e7e7e3;
  border-radius:0;
}

.pd-trust-strip > div{
  border-color:#e7e7e3;
}

.pd-trust-strip i{
  color:#111111;
}

.site-notice-box{
  border-color:#deded9;
  border-radius:0;
  background:#fafaf8;
  color:#5f5f5a;
}

.pd-accordion,
.pd-acc-item{
  border-color:#e7e7e3;
}

.pd-section-head span,
.pd-section-head > a{
  color:#111111 !important;
}

.pd-review-card{
  border-color:#e7e7e3;
  border-radius:0;
}

/* =========================================================
   CHECKOUT — CLEAN BLACK / WHITE
   ========================================================= */

.checkout-page{
  color:#111111;
}

.checkout-breadcrumb a{
  color:#111111;
}

.checkout-hero{
  border-radius:0;
  background:#111111;
  box-shadow:none;
}

.checkout-heading-icon{
  border-radius:0;
  background:rgba(255,255,255,.10);
}

.checkout-kicker{
  font-weight:600;
}

.checkout-hero h1{
  font-weight:500;
  letter-spacing:-.025em;
}

.checkout-back-cart{
  border-radius:0;
  font-weight:500;
}

.checkout-back-cart:hover{
  color:#111111 !important;
}

.checkout-card,
.checkout-summary,
.checkout-submit-card{
  border-color:#e7e7e3;
  border-radius:0;
  box-shadow:none;
}

.checkout-card-head,
.checkout-summary-head{
  border-color:#e7e7e3;
  background:#fafaf8;
}

.checkout-card-title,
.checkout-summary-head h2{
  color:#111111;
  font-weight:600;
}

.checkout-card-title i{
  color:#111111;
}

.checkout-card-step{
  border-color:#d8d8d3;
  background:#ffffff;
  color:#111111;
}

.checkout-label{
  font-weight:500;
}

.checkout-input,
.checkout-select,
.checkout-textarea{
  border-color:#d8d8d3;
  border-radius:0;
}

.checkout-input:focus,
.checkout-select:focus,
.checkout-textarea:focus{
  border-color:#111111 !important;
}

.checkout-btn{
  border-radius:0;
  font-weight:600;
}

.checkout-product{
  border-color:#e7e7e3;
}

.checkout-product-img{
  border-color:#e7e7e3;
  border-radius:0;
  background:#f7f7f5;
}

.checkout-product-name{
  color:#111111;
  font-weight:500;
}

.checkout-product-total-value{
  color:#111111;
  font-weight:600;
}

.checkout-delivery-box,
.checkout-coupon-toggle{
  border-color:#deded9;
  border-radius:0;
  background:#fafaf8;
}

.checkout-delivery-copy i,
.checkout-note-label i,
.checkout-security-item i{
  color:#111111;
}

.checkout-delivery-value{
  color:#111111;
  font-weight:600;
}

.checkout-payment-option{
  border-color:#e7e7e3;
  border-radius:0;
}

.checkout-payment-option:hover,
.checkout-payment-option.is-selected{
  border-color:#111111;
  background:#fafaf8;
  box-shadow:none;
}

.checkout-payment-option input{
  accent-color:#111111;
}

.checkout-payment-title{
  font-weight:600;
}

.checkout-coupon-toggle{
  color:#111111 !important;
}

.checkout-summary-total strong{
  color:#111111;
  font-weight:600;
}

.checkout-terms input{
  accent-color:#111111;
}

.checkout-bank-details{
  border-color:#e7e7e3;
  border-radius:0;
  background:#fafaf8;
  color:#5f5f5a;
}

/* =========================================================
   FOOTER — BLACK LUXURY
   ========================================================= */

.ps-footer-promos{
  background:#ffffff;
}

.ps-footer-promo{
  border-radius:0;
}

.ps-footer-promo-primary{
  background:#111111;
  color:#ffffff;
}

.ps-footer-promo-support{
  border-color:#deded9;
  background:#f4f2ee;
  color:#111111;
}

.ps-footer-promo-support .ps-footer-promo-icon{
  border-color:#d8d8d3;
  background:#ffffff;
  color:#111111;
}

.ps-footer-promo-support .ps-footer-promo-copy span{
  color:#6f6f6b;
}

.ps-footer-promo-button{
  border-radius:0;
  background:#ffffff;
  color:#111111 !important;
  font-weight:600;
}

.ps-footer-promo-button:hover{
  background:#f5f5f3;
  color:#000000 !important;
}

.ps-footer-promo-button-outline{
  border-color:#111111;
}

.ps-footer{
  --ft-bg:#111111;
  --ft-bg-deep:#090909;
  --ft-text:#ffffff;
  --ft-muted:rgba(255,255,255,.64);
  --ft-heading:#ffffff;
  --ft-line:rgba(255,255,255,.12);

  background:linear-gradient(180deg,#111111 0%,#090909 100%);
}

.ps-foot-title{
  font-weight:600;
  letter-spacing:.02em;
}

.ps-foot-copy,
.ps-foot-list a,
.ps-foot-contact li,
.ps-foot-newsletter > p{
  color:rgba(255,255,255,.64) !important;
}

.ps-foot-list a:hover,
.ps-foot-contact a:hover{
  color:#ffffff !important;
}

.ps-foot-contact li > i{
  color:rgba(255,255,255,.72);
}

.ps-foot-newsletter-form{
  border-radius:0;
}

.ps-foot-newsletter-form button{
  background:#ffffff;
  color:#111111;
  font-weight:600;
}

.ps-foot-newsletter-form button:hover{
  background:#f2f2ef;
}

.ps-payment-badge{
  border-radius:0;
}

.ps-foot-bottom,
.ps-foot-bottom-links a{
  color:rgba(255,255,255,.58) !important;
}

/* =========================================================
   HOME / CONTENT EXTRAS
   ========================================================= */

.ps-trust,
.benefits-strip{
  background:#ffffff;
}

.trust-item h6,
.benefit-title{
  color:#111111;
  font-weight:600;
}

.trust-item p,
.benefit-sub{
  color:#6f6f6b;
}

.benefit-icon{
  border-color:#111111;
  color:#111111;
  box-shadow:none;
}

.benefit-item:hover .benefit-icon{
  border-color:#111111;
  color:#111111;
  box-shadow:none;
}

.zee-proof{
  background:linear-gradient(180deg,#ffffff 0%,#fafaf8 100%);
}

.zee-proof-title{
  color:#111111;
  font-weight:500;
}

.zee-proof-eyebrow{
  color:#777773;
  font-weight:600;
}

.zee-proof-card{
  border-color:#e7e7e3;
  border-radius:0;
  box-shadow:0 12px 32px rgba(0,0,0,.06);
}

.zee-proof-media{
  background:#fafaf8;
}

.zee-proof-media img{
  border-radius:0;
}

.gl-posts-kicker{
  color:#777773;
  font-weight:500;
}

.gl-posts-title{
  color:#111111;
  font-weight:500;
}

.gl-post-card{
  border-color:#e7e7e3;
  border-radius:0;
  box-shadow:none;
}

.gl-post-card:hover{
  border-color:#bdbdb7;
  box-shadow:0 12px 30px rgba(0,0,0,.055);
}

.gl-post-date{
  border-radius:0;
  background:#111111;
}

.gl-post-chip{
  border-radius:0;
  background:#111111;
  font-weight:500;
}

.gl-post-h{
  font-weight:500;
}

.gl-post-more{
  color:#111111;
  font-weight:600;
}

.gl-posts-viewall,
.gl-posts-arrow{
  border-color:#d8d8d3;
  border-radius:0;
  color:#111111 !important;
}

.gl-posts-viewall:hover,
.gl-posts-arrow:hover{
  border-color:#111111;
  background:#111111;
  color:#ffffff !important;
}

/* Mid promo legacy module */

.midtile{
  background:#f4f2ee;
}

.midtile-title{
  font-weight:500;
  letter-spacing:-.025em;
}

.midtile-subtitle{
  font-weight:500;
}

.midtile-btn{
  font-weight:600;
}

.midpromo-arrow{
  border-color:rgba(255,255,255,.60);
}

/* ---------------------------------------------------------
   MOBILE BOTTOM NAV
   --------------------------------------------------------- */

.mbottom-nav{
  background:rgba(255,255,255,.95);
  border-color:rgba(17,17,17,.10);
  box-shadow:0 -12px 34px rgba(0,0,0,.10);
}

.mbottom-nav .mbitem{
  color:#777773;
  font-weight:500;
}

.mbottom-nav .mbitem.active{
  color:#111111;
  background:#f5f5f3;
}

.whatsapp-fab{
  background:#25d366;
}

/* ---------------------------------------------------------
   Responsive polish
   --------------------------------------------------------- */

@media(max-width:1250px){
  .pz-desktop-main-inner{
    grid-template-columns:185px minmax(300px,1fr) auto;
    gap:20px;
  }

  .pz-desktop-logo img{
    height:54px;
  }

  .pz-desktop-nav-inner{
    grid-template-columns:205px 1fr auto;
    gap:32px;
  }

  .pz-primary-nav{
    gap:22px;
  }
}

@media(max-width:1050px){
  .pz-header-container{
    width:min(calc(100% - 30px),var(--pz-header-max));
  }

  .pz-desktop-main-inner{
    grid-template-columns:165px minmax(260px,1fr) auto;
  }

  .pz-desktop-nav-inner{
    grid-template-columns:185px 1fr;
  }
}

@media(max-width:767.98px){
  :root{
    --gutter-x:14px;
  }

  body{
    font-size:15px;
  }

  h1,.h1{
    font-size:clamp(1.75rem,8vw,2.35rem);
  }

  h2,.h2{
    font-size:clamp(1.4rem,6vw,1.9rem);
  }

  h3,.h3{
    font-size:clamp(1.18rem,5vw,1.5rem);
  }
}

@media(max-width:420px){
  :root{
    --gutter-x:12px;
  }
}

/* =========================================================
   LÉVORA — PRODUCT CARD
   Premium minimal product grid
   ========================================================= */


/* =========================================================
   Card
   ========================================================= */

.kf-card{
    position:relative;

    width:100%;
    height:100%;

    min-width:0;

    overflow:hidden;

    display:flex;

    flex-direction:column;

    border:
        1px solid
        #e7e7e3;

    border-radius:0;

    background:#ffffff;

    box-shadow:none;

    transition:
        border-color .22s ease,
        box-shadow .22s ease,
        transform .22s ease;
}


.kf-card:hover{
    border-color:#cfcfca;

    box-shadow:
        0 12px 32px
        rgba(0,0,0,.055);

    transform:
        translateY(-2px);
}


.kf-card a{
    text-decoration:none !important;
}


/* =========================================================
   Image area
   ========================================================= */

.kf-media{
    position:relative;

    width:100%;

    aspect-ratio:
        1 / 1.06;

    overflow:hidden;

    border-bottom:
        1px solid
        #ecece8;

    background:#f6f6f4;
}


.kf-image-link{
    position:absolute;

    inset:0;

    display:block;
}


.kf-img{
    width:100%;
    height:100%;

    padding:
        clamp(
            12px,
            1.5vw,
            22px
        );

    display:block;

    object-fit:contain;

    object-position:center;

    transition:
        transform .32s ease;
}


.kf-card:hover .kf-img{
    transform:
        scale(1.035);
}


/* =========================================================
   Badge
   ========================================================= */

.kf-badge{
    position:absolute;

    top:10px;
    left:10px;

    z-index:4;

    min-height:24px;

    padding:
        0
        8px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    border:
        1px solid
        #111111;

    border-radius:0;

    background:#111111;

    color:#ffffff;

    font-size:.52rem;

    font-weight:600;

    letter-spacing:.08em;

    line-height:1;

    text-transform:uppercase;

    box-shadow:none;

    pointer-events:none;
}


/* Sale */

.kf-badge.sale{
    border-color:#111111;

    background:#111111;

    color:#ffffff;
}


/* New */

.kf-badge.new{
    border-color:#111111;

    background:#ffffff;

    color:#111111;
}


/* Popular */

.kf-badge.popular{
    border-color:#d8d2c7;

    background:#f4f2ee;

    color:#111111;
}


/*
 * Legacy wholesale support.
 * Kept only for backward compatibility.
 */

.kf-badge.wholesale{
    border-color:#111111;

    background:#111111;

    color:#ffffff;
}


/* =========================================================
   Wishlist
   ========================================================= */

.kf-wish-form,
.kf-media > .kf-wish-disabled{
    position:absolute;

    top:10px;
    right:10px;

    z-index:5;

    margin:0;
}


.kf-wish{
    width:36px;
    height:36px;

    padding:0;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    border:
        1px solid
        rgba(
            17,
            17,
            17,
            .12
        );

    border-radius:999px;

    background:
        rgba(
            255,
            255,
            255,
            .94
        );

    color:#111111;

    font-size:.76rem;

    box-shadow:
        0 4px 14px
        rgba(0,0,0,.06);

    transition:
        background .18s ease,
        border-color .18s ease,
        color .18s ease,
        transform .18s ease;
}


.kf-wish:hover,
.kf-wish:focus-visible{
    border-color:#111111;

    background:#111111;

    color:#ffffff;

    transform:
        scale(1.04);
}


.kf-wish.is-active{
    border-color:#111111;

    background:#111111;

    color:#ffffff;
}


.kf-wish:disabled{
    cursor:not-allowed;

    opacity:.45;
}


/* =========================================================
   Card body
   ========================================================= */

.kf-body{
    min-width:0;

    padding:
        14px
        13px
        13px;

    flex:
        1
        1
        auto;

    display:flex;

    flex-direction:column;

    background:#ffffff;
}


/* =========================================================
   Product title
   ========================================================= */

.kf-title-link{
    display:block;

    color:#111111 !important;
}


.kf-title{
    min-height:40px;

    margin:0;

    color:#111111;

    font-size:.77rem;

    font-weight:500;

    line-height:1.45;

    letter-spacing:-.008em;

    display:-webkit-box;

    -webkit-line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;
}


.kf-title-link:hover
.kf-title{
    color:#555551;
}


/* =========================================================
   Price
   ========================================================= */

.kf-price-area{
    min-height:44px;

    margin-top:9px;
}


.kf-price-old{
    margin-bottom:3px;

    color:#999994;

    font-size:.60rem;

    font-weight:400;

    line-height:1.2;

    text-decoration:
        line-through;
}


.kf-price{
    display:flex;

    align-items:baseline;

    flex-wrap:wrap;

    gap:4px;

    color:#111111;

    font-size:.88rem;

    font-weight:600;

    line-height:1.25;

    letter-spacing:-.01em;
}


.kf-from{
    color:#777773;

    font-size:.55rem;

    font-weight:500;
}


.kf-no-price{
    color:#777773;

    font-size:.68rem;

    font-weight:500;
}


/* Legacy price status */

.kf-price-note{
    width:max-content;

    max-width:100%;

    margin-top:5px;

    color:#777773;

    font-size:.48rem;

    font-weight:600;

    line-height:1.3;

    letter-spacing:.06em;

    text-transform:uppercase;
}


.kf-price-note.standard{
    color:#8c8c87;
}


/* =========================================================
   Stock
   ========================================================= */

.kf-stock{
    min-height:19px;

    margin-top:4px;

    display:flex;

    align-items:center;

    gap:6px;

    font-size:.58rem;

    font-weight:500;
}


.kf-stock-dot{
    width:5px;
    height:5px;

    flex:0 0 auto;

    border-radius:999px;
}


/* In stock */

.kf-stock.in{
    color:#26734d;
}


.kf-stock.in
.kf-stock-dot{
    background:#26734d;
}


/* Out of stock */

.kf-stock.out{
    color:#b42318;
}


.kf-stock.out
.kf-stock-dot{
    background:#b42318;
}


/* =========================================================
   Actions
   ========================================================= */

.kf-actions{
    margin-top:auto;

    padding-top:12px;

    display:grid;

    grid-template-columns:1fr;
}


.kf-cart-form{
    margin:0;

    min-width:0;
}


/* =========================================================
   Cart / Select options
   ========================================================= */

.kf-cart-btn,
.kf-option-btn{
    width:100%;

    min-height:40px;

    padding:
        0
        12px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:7px;

    border:
        1px solid
        #111111;

    border-radius:0;

    background:#111111;

    color:#ffffff !important;

    font-family:inherit;

    font-size:.62rem;

    font-weight:600;

    line-height:1;

    letter-spacing:.07em;

    text-transform:uppercase;

    text-decoration:none !important;

    transition:
        background .18s ease,
        color .18s ease,
        border-color .18s ease;
}


.kf-cart-btn:hover,
.kf-option-btn:hover{
    border-color:#111111;

    background:#ffffff;

    color:#111111 !important;
}


/* Successfully added */

.kf-cart-btn.is-added{
    border-color:#26734d;

    background:#26734d;

    color:#ffffff !important;
}


/* Disabled */

.kf-cart-btn:disabled{
    cursor:not-allowed;

    border-color:#deded9;

    background:#f3f3f0;

    color:#999994 !important;
}


/* =========================================================
   Toast
   ========================================================= */

.kf-toast{
    position:fixed;

    right:18px;
    bottom:18px;

    z-index:1090;

    max-width:
        min(
            330px,
            calc(
                100vw
                -
                30px
            )
        );

    padding:
        11px
        14px;

    display:flex;

    align-items:center;

    gap:8px;

    border:
        1px solid
        #d8d8d3;

    border-radius:0;

    background:#ffffff;

    color:#111111;

    font-size:.68rem;

    font-weight:500;

    box-shadow:
        0 16px 40px
        rgba(0,0,0,.12);

    opacity:0;

    visibility:hidden;

    transform:
        translateY(8px);

    transition:
        opacity .18s ease,
        visibility .18s ease,
        transform .18s ease;
}


.kf-toast.show{
    opacity:1;

    visibility:visible;

    transform:none;
}


.kf-toast i{
    color:#26734d;
}


/* =========================================================
   Tablet
   ========================================================= */

@media(
    max-width:991.98px
){

    .kf-body{
        padding:
            12px
            11px
            11px;
    }


    .kf-title{
        font-size:.72rem;
    }


    .kf-cart-btn,
    .kf-option-btn{
        min-height:37px;

        font-size:.58rem;
    }

}


/* =========================================================
   Mobile
   Works with compact / 3-column product grids
   ========================================================= */

@media(
    max-width:767.98px
){

    .kf-card{
        border-radius:0;

        box-shadow:none;
    }


    .kf-card:hover{
        transform:none;

        box-shadow:none;
    }


    /* Image */

    .kf-media{
        aspect-ratio:
            1 / 1.02;
    }


    .kf-img{
        padding:
            clamp(
                6px,
                2vw,
                10px
            );
    }


    .kf-card:hover
    .kf-img{
        transform:none;
    }


    /* Badge */

    .kf-badge{
        top:6px;
        left:6px;

        min-height:18px;

        padding:
            0
            5px;

        font-size:.41rem;

        letter-spacing:.05em;
    }


    /* Wishlist */

    .kf-wish-form,
    .kf-media
    > .kf-wish-disabled{
        top:6px;
        right:6px;
    }


    .kf-wish{
        width:29px;
        height:29px;

        font-size:.64rem;

        box-shadow:
            0 3px 10px
            rgba(0,0,0,.05);
    }


    /* Body */

    .kf-body{
        padding:
            8px
            7px
            8px;
    }


    /* Title */

    .kf-title{
        min-height:31px;

        font-size:.61rem;

        font-weight:500;

        line-height:1.38;
    }


    /* Price */

    .kf-price-area{
        min-height:36px;

        margin-top:6px;
    }


    .kf-price-old{
        margin-bottom:2px;

        font-size:.49rem;
    }


    .kf-price{
        gap:2px;

        font-size:.68rem;

        font-weight:600;
    }


    .kf-from{
        font-size:.44rem;
    }


    .kf-no-price{
        font-size:.57rem;
    }


    .kf-price-note{
        margin-top:3px;

        font-size:.40rem;
    }


    /* Stock */

    .kf-stock{
        min-height:15px;

        margin-top:2px;

        gap:4px;

        font-size:.48rem;
    }


    .kf-stock-dot{
        width:4px;
        height:4px;
    }


    /* Actions */

    .kf-actions{
        padding-top:7px;
    }


    .kf-cart-btn,
    .kf-option-btn{
        min-height:31px;

        padding:
            0
            5px;

        gap:4px;

        font-size:.49rem;

        letter-spacing:.035em;
    }


    .kf-cart-btn i,
    .kf-option-btn i{
        font-size:.65rem;
    }


    /* Toast */

    .kf-toast{
        right:12px;

        bottom:
            calc(
                82px
                +
                env(
                    safe-area-inset-bottom
                )
            );

        max-width:
            calc(
                100vw
                -
                24px
            );

        font-size:.64rem;
    }

}


/* =========================================================
   Extra small mobile
   ========================================================= */

@media(
    max-width:420px
){

    .kf-body{
        padding:
            7px
            6px
            7px;
    }


    .kf-title{
        min-height:29px;

        font-size:.58rem;
    }


    .kf-price{
        font-size:.64rem;
    }


    .kf-cart-btn,
    .kf-option-btn{
        min-height:30px;

        font-size:.47rem;

        letter-spacing:.02em;
    }


    /*
     * On very narrow 3-column cards,
     * hide the icon so ADD TO CART has
     * enough horizontal room.
     */

    .kf-cart-btn i,
    .kf-option-btn i{
        display:none;
    }


    .kf-wish{
        width:27px;
        height:27px;

        font-size:.60rem;
    }

}


/* =========================================================
   Reduced motion
   ========================================================= */

@media(
    prefers-reduced-motion:reduce
){

    .kf-card,
    .kf-img,
    .kf-wish,
    .kf-cart-btn,
    .kf-option-btn,
    .kf-toast{

        transition-duration:
            .01ms !important;
    }

}
