/* ===== RESET & BASE ===== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
html { margin-top:0 !important; }
#wpadminbar { display:none !important; }
body {
  font-family:'Inter',sans-serif;
  background:#fff;
  color:#111;
  line-height:1.6;
  overflow-x:hidden;
}
body .header,
body .main {
  opacity:0;
  transform:translateY(14px);
}
body.yon-loaded .header,
body.yon-loaded .main {
  opacity:1;
  transform:translateY(0);
  transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}
body.yon-is-legal .header,
body.yon-is-legal .main {
  opacity:1;
  transform:none;
}
a { text-decoration:none; color:inherit; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
input,select,textarea { font-family:inherit; }
ul { list-style:none; }
.container { max-width:1440px; margin:0 auto; padding:0 32px; }
.container-fluid { width: 100%; overflow: hidden; padding:0; }

/* ===== PAGE TRANSITION ANIMATIONS ===== */
@keyframes pageFadeIn {
  from { opacity:0; transform:translateY(30px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes pageSlideUp {
  from { opacity:0; transform:translateY(50px); }
  to { opacity:1; transform:translateY(0); }
}
/* SPA-блоки всередині #main-content (НЕ body.page — WordPress додає class page на body!) */
#main-content > .page {
  display:none;
}
#main-content > .page.active {
  display:block;
  animation: pageFadeIn .6s cubic-bezier(.22,1,.36,1) both;
}
#main-content > .page.active .welcome { animation: pageFadeIn .8s cubic-bezier(.22,1,.36,1) both; }
#main-content > .page.active .about-brand { animation: pageSlideUp .7s .15s cubic-bezier(.22,1,.36,1) both; }
#main-content > .page.active .new-products { animation: pageSlideUp .7s .25s cubic-bezier(.22,1,.36,1) both; }
#main-content > .page.active .contact { animation: pageSlideUp .7s .35s cubic-bezier(.22,1,.36,1) both; }
#main-content > .page.active .catalog { animation: pageFadeIn .7s .1s cubic-bezier(.22,1,.36,1) both; }
#main-content > .page.active .product-detail { animation: pageFadeIn .7s .1s cubic-bezier(.22,1,.36,1) both; }
#main-content > .page.active .checkout { animation: pageFadeIn .7s .1s cubic-bezier(.22,1,.36,1) both; }
#main-content > .page.active .footer { animation: pageSlideUp .6s .4s cubic-bezier(.22,1,.36,1) both; }

/* ===== HEADER ===== */
.header {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:#111; height:60px;
}
.header__inner {
  max-width:1440px; margin:0 auto; padding:0 32px;
  display:flex; align-items:center; justify-content:space-between; height:100%;
}
.header__left {
  display:flex; align-items:center; gap:16px;
}
.header__menu-btn {
  display:none; /* hidden on desktop */
  color:#fff;
}
.header__nav-close {
  display:none; /* hidden on desktop */
  font-size:1.8rem; color:#999;
  position:absolute; top:20px; right:24px;
}
.header__logo {
  font-family:'Playfair Display',serif;
  font-style:italic; font-size:1.4rem; font-weight:700;
  color:#fff; letter-spacing:1px; white-space:nowrap;
}
.header__logo--image {
  display:flex;
  align-items:center;
  width:44px;
  height:44px;
  overflow:hidden;
}
.header__logo-img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:invert(1);
}
.header__nav { 
  display:flex; align-items:center; gap:28px; 
}
.header__right {
  display:flex; align-items:center;
}
.header__link {
  color:rgba(255,255,255,.75); font-size:.82rem; font-weight:500;
  letter-spacing:1.5px; text-transform:uppercase;
  transition:color .25s;
}
.header__link:hover, .header__link.active { color:#fff; }
.header__cart-btn {
  position:relative; color:#fff; display:flex; align-items:center;
}
.header__cart-count {
  position:absolute; top:-6px; right:-10px;
  background:#fff; color:#111;
  font-size:.65rem; font-weight:700;
  width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}

/* ===== LANGUAGE SWITCHER ===== */
.lang-switcher {
  display:flex; align-items:center; gap:6px;
  margin-right:8px;
}
.lang-switcher__btn {
  color:rgba(255,255,255,.5); font-size:.72rem; font-weight:700;
  letter-spacing:1px; padding:4px 6px;
  transition:all .25s; border-radius:3px;
}
.lang-switcher__btn:hover { color:rgba(255,255,255,.8); }
.lang-switcher__btn.active {
  color:#111; background:#fff;
}
.lang-switcher__sep {
  color:rgba(255,255,255,.25); font-size:.7rem;
}

/* ===== WELCOME ===== */
.welcome {
  margin-top:0;
  padding-top:60px;
  min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  background:#0a0a0a; position:relative; overflow:hidden;
}
.welcome--image {
  background-image:url('../img/home-hero.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.welcome::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 30% 50%, rgba(255,255,255,.04) 0%, transparent 60%);
}
.welcome--image::before {
  background:linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.1) 48%, rgba(0,0,0,.56) 100%);
}
.welcome__content {
  width:100%;
  min-height:calc(100vh - 60px);
  text-align:center;
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding-top:54px;
}
.welcome--image .welcome__content {
  justify-content:flex-end;
  padding:54px 24px 10vh;
}
.welcome__label {
  font-size:.75rem; letter-spacing:4px; color:rgba(255,255,255,.4);
  margin-bottom:16px; text-transform:uppercase;
}
.welcome__title {
  font-family:'Playfair Display',serif;
  font-size:clamp(4.4rem,10.5vw,9rem); font-weight:700;
  color:#fff; letter-spacing:6px; line-height:1;
  margin-bottom:24px;
  opacity:0;
  transform:translateY(34px);
  animation:yonHeroTitleIn 1.05s .18s cubic-bezier(.16,1,.3,1) forwards;
}
.welcome--image .welcome__title {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}
.welcome__subtitle {
  font-size:1.08rem; color:rgba(255,255,255,.5);
  max-width:520px; margin:0 auto 44px; font-weight:300;
  opacity:0;
  transform:translateY(18px);
  animation:yonHeroItemIn .85s .48s cubic-bezier(.16,1,.3,1) forwards;
}
.welcome__btn {
  display:inline-block; padding:17px 64px;
  border:1px solid rgba(255,255,255,.3);
  color:#fff; font-size:.94rem; font-weight:700;
  letter-spacing:2.4px; text-transform:uppercase;
  transition:all .3s;
  opacity:0;
  transform:translateY(18px);
  animation:yonHeroItemIn .85s .68s cubic-bezier(.16,1,.3,1) forwards;
}
.welcome__btn:hover {
  background:#fff; color:#111; border-color:#fff;
}
@keyframes yonHeroTitleIn {
  from { opacity:0; transform:translateY(34px); filter:blur(3px); }
  to { opacity:1; transform:translateY(0); filter:blur(0); }
}
@keyframes yonHeroItemIn {
  from { opacity:0; transform:translateY(18px); }
  to { opacity:1; transform:translateY(0); }
}

/* ===== ABOUT BRAND ===== */
.about-brand {
  padding:140px 0;
  background:#fff;
}
.about-brand__inner {
  max-width:800px;
  text-align: left;
}
.about-brand__text {
  font-size:1.3rem;
  color:#444;
  line-height:1.9;
  letter-spacing:.5px;
}

/* ===== SECTION TITLE ===== */
.section-title {
  font-size:1.8rem; font-weight:700; letter-spacing:1px;
  margin-bottom:40px; text-transform:uppercase;
}

/* ===== NEW PRODUCTS (GRID) ===== */
.new-products { padding:100px 0; }
.new-products__grid {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}
.new-products .product-card__image {
  aspect-ratio: 4/5; /* Shorter height */
}
.product-card {
  cursor:pointer; transition:transform .3s;
}
.product-card:hover { transform:translateY(-4px); }
.product-card__image {
  width:100%; aspect-ratio:3/4;
  background:#f0f0f0; border-radius:0;
  display:flex; align-items:center; justify-content:center;
  font-size:.75rem; color:#aaa; letter-spacing:1px;
  text-transform:uppercase; overflow:hidden;
  position:relative;
}
.product-card__image::after {
  content:''; position:absolute; inset:0;
  border:1px solid rgba(0,0,0,.06);
}
.product-card__body { padding:14px 0; }
.product-card__name {
  font-size:.82rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.5px;
  margin-bottom:4px;
}
.product-card__price {
  font-size:.9rem; font-weight:400; color:#555;
}
/* ===== CONTACT ===== */
.contact {
  padding:80px 0;
  background:#111;
  color:#fff;
}
.contact__section-title { color:#fff; }
.contact__inner {
  display:flex; gap:60px; align-items:flex-start;
  flex-wrap:wrap;
}
.contact__form {
  flex:1; min-width:280px;
  display:flex; flex-direction:column; gap:14px;
}
.contact__input {
  padding:14px 18px; border:1px solid rgba(255,255,255,.2);
  font-size:.9rem; outline:none; background:transparent;
  color:#fff;
  transition:border-color .25s;
}
.contact__input::placeholder { color:rgba(255,255,255,.4); }
.contact__input:focus { border-color:#fff; }
.contact__btn {
  align-self:flex-start; padding:12px 36px;
  background:#fff; color:#111;
  font-size:.8rem; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase;
  transition:opacity .25s;
}
.contact__btn:hover { opacity:.85; }
.contact__info { padding-top:6px; }
.contact__email-label {
  font-size:.75rem; color:rgba(255,255,255,.5); text-transform:uppercase;
  letter-spacing:1px; margin-bottom:6px;
}
.contact__email-link {
  font-size:1.1rem; font-weight:600; color:#fff;
  border-bottom:1px solid #fff;
}

/* ===== FOOTER (BLACK) ===== */
.footer {
  padding:60px 0;
  background:#111;
  border-top:1px solid rgba(255,255,255,.1);
}
.footer__inner {
  display:grid;
  grid-template-columns:auto minmax(220px,1fr) minmax(260px,auto);
  align-items:start;
  gap:28px 40px;
}
.footer__brand {
  font-family:'Playfair Display',serif;
  font-style:italic; font-size:1.2rem; font-weight:700;
  color:#fff;
}
.footer__brand--image {
  display:flex;
  align-items:center;
  width:58px;
  height:58px;
  overflow:hidden;
}
.footer__brand-img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:invert(1);
}
.footer__links {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px 24px;
  padding-top:10px;
}
.footer__links a {
  font-size:.8rem; color:rgba(255,255,255,.55); text-transform:uppercase;
  letter-spacing:1px; transition:color .25s;
}
.footer__links a:hover { color:#fff; }
.footer__legal {
  min-width:260px;
}
.footer__legal-title {
  margin-bottom:12px;
  color:#fff;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.footer__legal-links {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 18px;
}
.footer__legal-links a {
  color:rgba(255,255,255,.55);
  font-size:.78rem;
  line-height:1.45;
  transition:color .25s;
}
.footer__legal-links a:hover { color:#fff; }
.footer__copy {
  grid-column:1 / -1;
  font-size:.75rem;
  color:rgba(255,255,255,.35);
}

.yon-legal-page {
  padding-top:60px;
  background:#fff;
}
.legal-page {
  padding:84px 0 96px;
}
.legal-page__header {
  max-width:860px;
  margin-bottom:44px;
}
.legal-page__eyebrow {
  margin-bottom:12px;
  color:#777;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:1.6px;
  text-transform:uppercase;
}
.legal-page__title {
  margin-bottom:14px;
  color:#111;
  font-size:clamp(2rem,4vw,3.8rem);
  font-weight:800;
  line-height:1.08;
  text-transform:uppercase;
}
.legal-page__updated {
  color:#777;
  font-size:.9rem;
}
.legal-page__content {
  max-width:900px;
  color:#333;
  font-size:1rem;
  line-height:1.8;
}
.legal-page__content section + section {
  margin-top:34px;
}
.legal-page__content h2 {
  margin-bottom:12px;
  color:#111;
  font-size:1.14rem;
  font-weight:800;
  line-height:1.35;
}
.legal-page__content p + p,
.legal-page__content ul,
.legal-page__content ol {
  margin-top:12px;
}
.legal-page__content ul,
.legal-page__content ol {
  padding-left:22px;
}
.legal-page__content ul {
  list-style:disc;
}
.legal-page__content ol {
  list-style:decimal;
}
.legal-page__content li + li {
  margin-top:8px;
}
.legal-page__content a {
  color:#111;
  border-bottom:1px solid rgba(17,17,17,.35);
}
.legal-page__details {
  display:grid;
  gap:1px;
  margin-top:16px;
  background:#e6e6e6;
}
.legal-page__details > div {
  display:grid;
  grid-template-columns:minmax(160px,240px) 1fr;
  gap:20px;
  padding:18px 20px;
  background:#fff;
}
.legal-page__details dt {
  color:#777;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
}
.legal-page__details dd {
  color:#111;
  font-weight:600;
}

.legal-modal {
  position:fixed;
  inset:0;
  z-index:300;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, visibility 0s linear .24s;
}
.legal-modal.open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .24s ease;
}
.legal-modal.closing {
  opacity:0;
  pointer-events:none;
}
.legal-modal__backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(2px);
}
.legal-modal__dialog {
  position:relative;
  z-index:1;
  width:min(860px,100%);
  max-height:min(760px,82vh);
  transform:translateY(12px) scale(.96);
  opacity:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  transition:transform .24s cubic-bezier(.22,1,.36,1), opacity .2s ease;
}
.legal-modal.open .legal-modal__dialog {
  transform:translateY(0) scale(1);
  opacity:1;
}
.legal-modal.closing .legal-modal__dialog {
  transform:translateY(10px) scale(.97);
  opacity:0;
}
.legal-modal__header {
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:16px;
  padding:22px 26px 18px;
  border-bottom:1px solid #eee;
  background:#fff;
}
.legal-modal__eyebrow {
  margin-bottom:5px;
  color:#888;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:1.4px;
  line-height:1;
  text-transform:uppercase;
}
.legal-modal__title {
  color:#111;
  font-size:1.08rem;
  font-weight:800;
  letter-spacing:.4px;
  line-height:1.25;
  text-transform:uppercase;
}
.legal-modal__open {
  margin-left:auto;
  color:#777;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.8px;
  text-transform:uppercase;
  transition:color .2s;
}
.legal-modal__open:hover {
  color:#111;
}
.legal-modal__close {
  width:34px;
  height:34px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#111;
  font-size:1.6rem;
  line-height:1;
  border-radius:50%;
  transition:background .2s;
}
.legal-modal__close:hover {
  background:#f2f2f2;
}
.legal-modal__content {
  flex:1;
  overflow-y:auto;
  padding:24px 28px 30px;
  overscroll-behavior:contain;
}
.legal-modal__content::-webkit-scrollbar {
  width:10px;
}
.legal-modal__content::-webkit-scrollbar-track {
  background:#f5f5f5;
}
.legal-modal__content::-webkit-scrollbar-thumb {
  background:#ccc;
  border:3px solid #f5f5f5;
  border-radius:999px;
}
.legal-modal__updated,
.legal-modal__loading {
  color:#777;
  font-size:.86rem;
}
.legal-modal__document {
  color:#2b2b2b;
  font-size:.95rem;
  line-height:1.72;
}
.legal-modal__document section + section {
  margin-top:26px;
  padding-top:2px;
}
.legal-modal__document h2 {
  margin-bottom:10px;
  color:#111;
  font-size:1rem;
  font-weight:800;
  line-height:1.35;
}
.legal-modal__document p + p,
.legal-modal__document ul,
.legal-modal__document ol {
  margin-top:10px;
}
.legal-modal__document ul,
.legal-modal__document ol {
  padding-left:20px;
}
.legal-modal__document ul {
  list-style:disc;
}
.legal-modal__document ol {
  list-style:decimal;
}
.legal-modal__document li + li {
  margin-top:7px;
}
.legal-modal__document a {
  color:#111;
  border-bottom:1px solid rgba(17,17,17,.35);
}
.legal-modal__document .legal-page__details {
  margin-top:12px;
}
.legal-modal__document .legal-page__details > div {
  padding:14px 16px;
  grid-template-columns:minmax(130px,190px) 1fr;
}
body.legal-modal-open {
  overflow:hidden;
}

@media(max-width:900px) {
  .footer__inner {
    grid-template-columns:auto 1fr;
  }
  .footer__legal {
    grid-column:1 / -1;
  }
  .legal-page {
    padding:64px 0 76px;
  }
}

@media(max-width:620px) {
  .footer {
    padding:44px 0;
  }
  .footer__inner {
    grid-template-columns:1fr;
    gap:24px;
  }
  .footer__brand--image {
    width:48px;
    height:48px;
  }
  .footer__links {
    padding-top:0;
    gap:12px 18px;
  }
  .footer__legal {
    min-width:0;
  }
  .footer__legal-links {
    grid-template-columns:1fr;
  }
  .legal-page {
    padding:48px 0 64px;
  }
  .legal-page__header {
    margin-bottom:34px;
  }
  .legal-page__content {
    font-size:.95rem;
    line-height:1.72;
  }
  .legal-page__details > div {
    grid-template-columns:1fr;
    gap:6px;
    padding:16px;
  }
  .legal-modal__dialog {
    width:100%;
    max-height:88vh;
    border-radius:14px;
  }
  .legal-modal__header {
    padding:18px 18px 14px;
    gap:12px;
  }
  .legal-modal__open {
    display:none;
  }
  .legal-modal__content {
    padding:20px 18px 24px;
  }
  .legal-modal__title {
    font-size:.96rem;
  }
  .legal-modal__document {
    font-size:.92rem;
    line-height:1.68;
  }
  .legal-modal__document .legal-page__details > div {
    grid-template-columns:1fr;
    gap:6px;
  }
}

.yon-order-received {
  max-width:720px;
  margin:0 auto;
  padding:72px 0;
}
.yon-order-received__title {
  margin:0 0 16px;
  font-size:2rem;
  font-weight:800;
  text-transform:uppercase;
}
.yon-order-received__text {
  margin:0 0 32px;
  color:#555;
  font-size:1rem;
}
.yon-order-received__summary {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-bottom:32px;
  background:#eee;
}
.yon-order-received__summary > div {
  background:#fff;
  padding:20px;
}
.yon-order-received__summary span {
  display:block;
  margin-bottom:8px;
  color:#888;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
}
.yon-order-received__summary strong {
  display:block;
  color:#111;
  font-size:1rem;
}
.yon-order-received__button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 28px;
  background:#111;
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
}

@media(max-width:700px) {
  .yon-order-received__summary {
    grid-template-columns:1fr;
  }
}

/* ===== CATALOG PAGE ===== */
.catalog { padding-top:100px; padding-bottom:80px; min-height:100vh; }
.catalog__header {
  display:flex; align-items:baseline; justify-content:space-between;
  margin-bottom:48px;
  border:0 !important;
}
.catalog__title {
  font-size:2.2rem; font-weight:800; text-transform:uppercase;
}
.catalog__count { font-size:.85rem; color:#888; }
.catalog__grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:44px 24px;
}
.catalog-categories {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:34px 28px;
}
.catalog-category-card {
  display:block;
  color:#111;
  position:relative;
  border:0;
  background:#fff;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.045),
    -18px 0 34px rgba(0,0,0,.06),
    18px 0 34px rgba(0,0,0,.06),
    0 18px 42px rgba(0,0,0,.065);
  padding:12px;
  transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s;
}
.catalog-category-card:hover {
  transform:translateY(-4px);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.065),
    -22px 0 42px rgba(0,0,0,.075),
    22px 0 42px rgba(0,0,0,.075),
    0 24px 54px rgba(0,0,0,.085);
}
.catalog-category-card__image {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:420px;
  aspect-ratio:3/4;
  background:#f7f7f7;
  overflow:hidden;
  position:relative;
  border:0 !important;
}
.catalog-category-card__image img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:1;
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}
.catalog-category-card:hover .catalog-category-card__image img {
  transform:scale(1.045);
}
.catalog-category-card__placeholder {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#d7d7d7;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
}
.catalog-category-card__image::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.62) 46%, rgba(255,255,255,.96) 100%);
}
.catalog-category-card__body {
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  pointer-events:none;
}
.catalog-category-card__name {
  position:relative;
  z-index:2;
  color:#111;
  font-size:clamp(1.28rem, 2vw, 1.9rem);
  font-weight:800;
  line-height:1.05;
  margin:0 22px;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:1.2px;
}
.catalog-category-card__count {
  display:none !important;
}
.catalog .product-card__image::after,
.yon-shop .catalog__header::before,
.yon-shop .catalog__header::after {
  display:none !important;
  content:none !important;
}
.catalog__actions {
  margin:-24px 0 32px;
}
.catalog__back {
  color:#999;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
  transition:color .25s;
}
.catalog__back:hover {
  color:#111;
}

.catalog-filters {
  display:flex;
  align-items:flex-start;
  margin:-24px 0 12px;
}
.catalog-filters__toggle {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border:1px solid #111;
  color:#111;
  background:#fff;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.catalog-filters__overlay {
  display:none;
}
.catalog-filters__panel {
  flex:0 0 auto;
  width:220px;
  max-width:0;
  max-height:none;
  margin-top:0;
  margin-left:0;
  opacity:0;
  overflow:hidden;
  pointer-events:none;
  transform:translateX(-12px);
  transition:max-width .36s cubic-bezier(.22,1,.36,1), margin-left .36s cubic-bezier(.22,1,.36,1), opacity .22s ease, transform .36s cubic-bezier(.22,1,.36,1);
}
.catalog-filters__panel.open {
  max-width:220px;
  margin-left:18px;
  opacity:1;
  pointer-events:auto;
  transform:translateX(0);
}
.catalog-filters__head {
  display:none;
}
.catalog-filters__label {
  margin-bottom:8px;
  color:#111;
  font-size:.76rem;
  font-weight:700;
}
.catalog-filters__list {
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  flex-wrap:nowrap;
  gap:8px;
}
.catalog-filters__item {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:auto;
  padding:0;
  border:0;
  color:#555;
  background:transparent;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.9px;
  text-transform:uppercase;
  transition:color .2s, opacity .2s;
}
.catalog-filters__item:hover,
.catalog-filters__item.active {
  color:#111;
  text-decoration:underline;
  text-underline-offset:4px;
}

.products.catalog__grid {
  transition:width .36s cubic-bezier(.22,1,.36,1), transform .36s cubic-bezier(.22,1,.36,1);
}

body.catalog-filters-open .products.catalog__grid {
  width:calc(100% - 238px);
  transform:translateX(238px);
}

@media (max-width:768px) {
  .catalog-filters {
    display:block;
    margin:-18px 0 12px;
  }

  .catalog-filters__overlay {
    display:none;
  }

  .catalog-filters__overlay.open {
    opacity:0;
    pointer-events:none;
  }

  .catalog-filters__panel {
    position:static;
    max-height:0;
    overflow:hidden;
    margin:0;
    padding:0;
    background:transparent;
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px);
    box-shadow:none;
  }

  .catalog-filters__panel.open {
    max-height:360px;
    margin-top:16px;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }

  .catalog-filters__head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:18px;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
  }

  .catalog-filters__close {
    font-size:1.8rem;
    line-height:1;
    color:#111;
  }

  .catalog-filters__list {
    align-items:flex-start;
    flex-direction:column;
    gap:9px;
  }

  .catalog-filters__item {
    width:auto;
    min-height:auto;
    justify-content:flex-start;
  }

  body.catalog-filters-open {
    overflow:auto;
  }

  body.catalog-filters-open .products.catalog__grid {
    width:100%;
    transform:none;
  }
}
  
  /* ===== PRODUCT DETAIL ===== */
.product-detail { padding-top:100px; padding-bottom:80px; min-height:100vh; }
.product-detail__inner {
  display:grid; grid-template-columns:1fr 1fr; gap:60px;
  align-items:start;
}
.product-detail__image {
  width:100%; aspect-ratio:1/1;
  background:#f0f0f0;
  display:flex; align-items:center; justify-content:center;
  font-size:.8rem; color:#bbb; text-transform:uppercase;
  letter-spacing:1px;
}
.product-detail__nav {
  display:flex; justify-content:space-between;
  margin-top:16px;
}
.product-detail__arrow {
  width:40px; height:40px; border-radius:50%;
  background:#eee; font-size:1rem; color:#555;
  display:flex; align-items:center; justify-content:center;
  transition:background .25s;
}
.product-detail__arrow:hover { background:#ddd; }
.product-detail__category {
  font-size:.7rem; color:#999; letter-spacing:2px;
  text-transform:uppercase; margin-bottom:8px;
}
.product-detail__name {
  font-size:2rem; font-weight:700; margin-bottom:12px;
}
.product-detail__price {
  font-size:1.3rem; font-weight:400; color:#888;
  margin-bottom:20px;
}
.product-detail__meta { margin-bottom:12px; }
.product-detail__meta-label {
  font-size:.7rem; color:#bbb; letter-spacing:1.5px;
  text-transform:uppercase; margin-right:8px;
}
.product-detail__meta-value { font-size:.85rem; font-weight:600; }
.product-detail__divider { border:none; border-top:1px solid #eee; margin:20px 0; }

/* SIZE SELECTOR */
.product-detail__sizes { margin-bottom:4px; }
.product-detail__size-options {
  display:flex; gap:10px; margin-top:10px;
}
.size-btn {
  position:relative;
  width:48px; height:48px;
  border:1px solid #ddd;
  font-size:.82rem; font-weight:600;
  display:flex; align-items:center; justify-content:center;
  transition:all .25s;
  color:#555;
}
.size-btn input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.size-btn:hover { border-color:#111; color:#111; }
.size-btn.active {
  background:#111; color:#fff; border-color:#111;
}

.product-detail__features { margin-bottom:32px; }
.product-detail__features li {
  font-size:.88rem; color:#666; margin-bottom:8px;
}
.product-detail__add-btn {
  width:100%; padding:16px;
  background:#111; color:#fff;
  font-size:.85rem; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  transition:opacity .25s;
}
.product-detail__add-btn:hover { opacity:.85; }

/* ===== CART SIDEBAR ===== */
.cart-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.4);
  z-index:200; opacity:0; pointer-events:none;
  transition:opacity .35s;
}
.cart-overlay.open { opacity:1; pointer-events:all; }
.cart-sidebar {
  position:fixed; top:0; right:0; bottom:0;
  width:400px; max-width:90vw;
  background:#fff; z-index:201;
  display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.22,1,.36,1);
  box-shadow:-4px 0 30px rgba(0,0,0,.08);
}
.cart-sidebar.open { transform:translateX(0); }
.cart-sidebar__header {
  display:flex; align-items:center; justify-content:space-between;
  padding:24px 28px; border-bottom:1px solid #eee;
}
.cart-sidebar__title { font-size:1.4rem; font-weight:800; }
.cart-sidebar__badge {
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; border-radius:50%;
  background:#111; color:#fff;
  font-size:.7rem; font-weight:700;
  margin-left:8px; vertical-align:middle;
}
.cart-sidebar__close { font-size:1.6rem; color:#999; transition:color .2s; }
.cart-sidebar__close:hover { color:#111; }
.cart-sidebar__items {
  flex:1; overflow-y:auto; padding:20px 28px;
}
.cart-sidebar__empty {
  text-align:center; color:#bbb;
  font-size:.9rem; padding-top:60px;
}
.cart-item {
  display:flex; gap:16px; padding:16px 0;
  border-bottom:1px solid #f0f0f0;
}
.cart-item__image {
  width:64px; height:64px; background:#f0f0f0; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:.5rem; color:#ccc;
}
.cart-item__info { flex:1; }
.cart-item__name { font-size:.82rem; font-weight:700; text-transform:uppercase; margin-bottom:2px; }
.cart-item__size { font-size:.75rem; color:#999; margin-bottom:8px; }
.cart-item__controls { display:flex; align-items:center; gap:12px; }
.cart-item__qty-btn {
  width:28px; height:28px; border:1px solid #ddd;
  display:flex; align-items:center; justify-content:center;
  font-size:.9rem; color:#555; transition:border-color .2s;
}
.cart-item__qty-btn:hover { border-color:#111; }
.cart-item__qty { font-size:.85rem; font-weight:600; min-width:16px; text-align:center; }
.cart-item__remove {
  font-size:.72rem; color:#999; text-transform:uppercase;
  letter-spacing:1px; margin-left:auto; transition:color .2s;
}
.cart-item__remove:hover { color:#111; }
.cart-item__price {
  font-size:.85rem; font-weight:600; white-space:nowrap;
  align-self:flex-start; margin-left:auto;
}
.cart-sidebar__footer { padding:20px 28px; border-top:1px solid #eee; }
.cart-sidebar__total {
  display:flex; justify-content:space-between;
  font-size:1.1rem; font-weight:700; margin-bottom:16px;
}
.cart-sidebar__checkout-btn {
  width:100%; padding:14px;
  background:#111; color:#fff;
  font-size:.85rem; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  transition:opacity .25s;
}
.cart-sidebar__checkout-btn:hover { opacity:.85; }
.cart-sidebar__woo {
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.yon-drawer-cart {
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:0;
  animation:yonCartDrawerIn .32s cubic-bezier(.22,1,.36,1) both;
}
.yon-drawer-cart.is-clearing {
  pointer-events:none;
}
.yon-drawer-cart.is-clearing .yon-drawer-cart__items,
.yon-drawer-cart.is-clearing .yon-drawer-cart__footer {
  animation:yonCartClear .28s cubic-bezier(.22,1,.36,1) both;
}
.yon-drawer-cart.is-ready {
  animation:yonCartDrawerIn .32s cubic-bezier(.22,1,.36,1) both;
}
@keyframes yonCartClear {
  from { opacity:1; transform:translateY(0); filter:blur(0); }
  to { opacity:0; transform:translateY(10px); filter:blur(3px); }
}
@keyframes yonCartDrawerIn {
  from { opacity:0; transform:translateY(10px); }
  to { opacity:1; transform:translateY(0); }
}
.yon-drawer-cart__items {
  flex:1;
  overflow-y:auto;
  padding:20px 28px;
}
.yon-drawer-cart__item {
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid #f0f0f0;
}
.yon-drawer-cart__image {
  width:64px;
  height:64px;
  background:#f0f0f0;
  overflow:hidden;
}
.yon-drawer-cart__image img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.yon-drawer-cart__name {
  display:block;
  color:#111;
  font-size:.82rem;
  font-weight:800;
  line-height:1.35;
  text-decoration:none;
  text-transform:uppercase;
}
.yon-drawer-cart__meta {
  margin-top:4px;
  color:#999;
  font-size:.74rem;
}
.yon-drawer-cart__meta p {
  margin:0;
}
.yon-drawer-cart__controls {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
}
.yon-drawer-cart__qty-btn {
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:1px solid #ddd;
  color:#555;
  font-weight:800;
  text-decoration:none;
}
.yon-drawer-cart__qty-btn:hover {
  border-color:#111;
  color:#111;
}
.yon-drawer-cart__qty {
  min-width:16px;
  color:#111;
  font-size:.85rem;
  font-weight:700;
  text-align:center;
}
.yon-drawer-cart__remove {
  margin-left:auto;
  color:#999;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:1px;
  text-decoration:none;
  text-transform:uppercase;
}
.yon-drawer-cart__remove:hover {
  color:#111;
}
.yon-drawer-cart__price {
  color:#111;
  font-size:.85rem;
  font-weight:800;
  white-space:nowrap;
}
.yon-drawer-cart__footer {
  padding:20px 28px 24px;
  border-top:1px solid #eee;
}
.yon-drawer-cart__total {
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  color:#111;
  font-size:1.05rem;
  font-weight:800;
}
.yon-drawer-cart__clear {
  display:block;
  margin-bottom:12px;
  color:#999;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:1.2px;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
}
.yon-drawer-cart__clear:hover {
  color:#111;
}
.yon-drawer-cart__button {
  display:block;
  width:100%;
  margin-top:8px;
  background:#111;
  color:#fff;
  padding:14px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:1.8px;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
}
.yon-drawer-cart__button--muted {
  background:#f1f1f1;
  color:#111;
}
.cart-sidebar__woo .widget_shopping_cart_content {
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.cart-sidebar__woo .woocommerce-mini-cart {
  flex:1;
  overflow-y:auto;
  list-style:none;
  margin:0;
  padding:20px 28px;
}
.cart-sidebar__woo .woocommerce-mini-cart-item {
  position:relative;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:16px;
  min-height:86px;
  padding:16px 26px 16px 0;
  border-bottom:1px solid #f0f0f0;
}
.cart-sidebar__woo .woocommerce-mini-cart-item a:not(.remove) {
  display:contents;
  color:#111;
  font-size:.82rem;
  font-weight:700;
  line-height:1.35;
  text-decoration:none;
  text-transform:uppercase;
}
.cart-sidebar__woo .woocommerce-mini-cart-item img {
  grid-row:1 / span 2;
  width:64px;
  height:64px;
  object-fit:cover;
  background:#f0f0f0;
}
.cart-sidebar__woo .quantity {
  grid-column:2;
  color:#777;
  font-size:.78rem;
}
.cart-sidebar__woo .remove {
  position:absolute;
  top:16px;
  right:0;
  width:20px;
  height:20px;
  color:#999 !important;
  font-size:1rem;
  line-height:20px;
  text-align:center;
  text-decoration:none;
}
.cart-sidebar__woo .remove:hover {
  color:#111 !important;
  background:transparent;
}
.cart-sidebar__woo .woocommerce-mini-cart__empty-message {
  margin:0;
  padding:80px 28px 0;
  color:#bbb;
  font-size:.9rem;
  text-align:center;
}
.cart-sidebar__woo .woocommerce-mini-cart__total {
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin:0;
  padding:20px 28px 8px;
  border-top:1px solid #eee;
  font-size:1.1rem;
  font-weight:700;
}
.cart-sidebar__woo .woocommerce-mini-cart__buttons {
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:0;
  padding:12px 28px 24px;
}
.cart-sidebar__woo .woocommerce-mini-cart__buttons .button {
  display:block;
  width:100%;
  border:0 !important;
  border-radius:0 !important;
  background:#111 !important;
  color:#fff !important;
  padding:14px !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:1.6px;
  line-height:1 !important;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
}
.cart-sidebar__woo .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background:#f1f1f1 !important;
  color:#111 !important;
}

/* ===== CHECKOUT PAGE ===== */
.checkout { padding-top:100px; padding-bottom:80px; min-height:100vh; }
.checkout__inner {
  display:grid; grid-template-columns:1fr 420px; gap:60px;
  align-items:start;
}
.checkout__heading {
  font-size:1.6rem; font-weight:800; margin-bottom:28px;
}
.checkout__label {
  font-size:.9rem; font-weight:700; margin-bottom:14px;
}
.checkout__field-group { margin-bottom:28px; }
.checkout__row { display:flex; gap:12px; margin-bottom:12px; }
.checkout__input {
  flex:1; padding:12px 16px; border:1px solid #ddd;
  font-size:.88rem; outline:none; background:#fff; color:#111;
  transition:border-color .25s;
}
.checkout__input:focus { border-color:#111; }
.checkout__select {
  flex:1; padding:12px 16px; border:1px solid #ddd;
  font-size:.88rem; outline:none; background:#fff;
  appearance:none; cursor:pointer;
}
.checkout__textarea {
  width:100%; padding:12px 16px; border:1px solid #ddd;
  font-size:.88rem; outline:none; resize:vertical;
  transition:border-color .25s;
}
.checkout__textarea:focus { border-color:#111; }
.checkout__radio-group { margin-bottom:14px; }
.checkout__radio {
  display:block; padding:8px 0; font-size:.88rem; cursor:pointer;
}
.checkout__radio input { margin-right:8px; accent-color:#111; }
.checkout__summary-side {
  background:#fafafa; padding:32px; border:1px solid #eee;
}
.checkout__summary-title {
  font-size:1.2rem; font-weight:800; margin-bottom:20px;
}
.checkout__summary-item {
  display:flex; gap:14px; padding:14px 0;
  border-bottom:1px solid #eee;
}
.checkout__summary-item-img {
  width:56px; height:56px; background:#e8e8e8; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:.5rem; color:#ccc;
}
.checkout__summary-item-info { flex:1; }
.checkout__summary-item-name { font-size:.8rem; font-weight:700; text-transform:uppercase; }
.checkout__summary-item-meta { font-size:.72rem; color:#999; }
.checkout__summary-item-price { font-size:.85rem; font-weight:600; white-space:nowrap; }
.checkout__summary-divider { border:none; border-top:1px solid #eee; margin:16px 0; }
.checkout__summary-details { margin-bottom:12px; }
.checkout__summary-detail-line {
  display:flex; justify-content:space-between;
  font-size:.82rem; padding:4px 0;
}
.checkout__promo-row { display:flex; gap:8px; margin-bottom:0; }
.checkout__input--promo { flex:1; }
.checkout__promo-btn {
  padding:12px 20px; background:#111; color:#fff;
  font-size:.78rem; font-weight:600; letter-spacing:1px;
  white-space:nowrap; transition:opacity .25s;
}
.checkout__promo-btn:hover { opacity:.85; }
.checkout__summary-line {
  display:flex; justify-content:space-between;
  font-size:.88rem; padding:6px 0;
}
.checkout__summary-line--total { font-weight:800; font-size:1rem; margin-top:4px; }
.checkout__pay-btn {
  width:100%; padding:16px; margin-top:20px;
  background:#111; color:#fff;
  font-size:.9rem; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  transition:opacity .25s;
}
.checkout__pay-btn:hover { opacity:.85; }

/* ===== NOTIFICATIONS ===== */
.notification-container {
  position:fixed; top:82px; left:50%; right:auto;
  transform:translateX(-50%);
  display:flex; flex-direction:column; gap:12px;
  z-index:9999; pointer-events:none;
}
.notification {
  background:#111; color:#fff;
  padding:16px 24px; border-radius:4px;
  font-size:.9rem; font-weight:500;
  box-shadow:0 14px 36px rgba(0,0,0,.18);
  opacity:0;
  transform:translateY(-22px) scale(.96);
  animation:yonToastIn 1.05s cubic-bezier(.16,1,.3,1) forwards;
  pointer-events:all; display:flex; align-items:center; gap:12px;
}
.notification svg { color:#4caf50; }
.notification.fade-out {
  animation:yonToastOut .75s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes yonToastIn {
  0% { opacity:0; transform:translateY(-22px) scale(.96); }
  55% { opacity:1; transform:translateY(4px) scale(1.01); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes yonToastOut {
  from { opacity:1; transform:translateY(0) scale(1); }
  to { opacity:0; transform:translateY(-18px) scale(.96); }
}
@keyframes slideInRight {
  from { opacity:0; transform:translateX(50px); }
  to { opacity:1; transform:translateX(0); }
}
@keyframes fadeOutRight {
  from { opacity:1; transform:translateX(0); }
  to { opacity:0; transform:translateX(50px); }
}

/* ===== RESPONSIVE ===== */
@media(max-width:900px) {
  .catalog__grid { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:28px 20px; }
  .new-products__grid { grid-template-columns:repeat(2, 1fr); gap:24px; }
  .product-detail__inner { grid-template-columns:1fr; gap:32px; }
  .checkout__inner { grid-template-columns:1fr; }
}
@media(max-width:768px) {
  .container { padding:0 20px; }
  .header__inner { padding:0 20px; }

  /* Header Mobile Menu */
  .header__menu-btn { display:block; }
  .header__nav {
    position:fixed; top:0; left:0; bottom:0;
    width:300px; max-width:80vw;
    height:100vh;
    min-height:100dvh;
    background:#111 !important; z-index:101;
    opacity:1 !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    flex-direction:column; align-items:flex-start;
    padding:80px 30px 40px;
    transform:translateX(-100%);
    transition:transform .4s cubic-bezier(.22,1,.36,1);
    box-shadow:4px 0 30px rgba(0,0,0,.3);
    gap: 32px;
  }
  .header__nav.open { transform:translateX(0); }
  .header__nav-close { display:block; }
  .header__link { font-size:1.2rem; letter-spacing:2px; }
  .lang-switcher { margin-bottom:16px; }
  .lang-switcher__btn { font-size:1rem; padding:6px 8px; }
  
  /* Prevent scroll when menu open */
  body.menu-open { overflow: hidden; }
  
  /* Menu overlay */
  .menu-overlay {
    position:fixed; inset:0; background:rgba(0,0,0,.6);
    z-index:90; opacity:0; pointer-events:none;
    transition:opacity .3s;
  }
  .menu-overlay.open { opacity:1; pointer-events:all; }
  body .header__nav,
  body.yon-is-front .header__nav,
  body.yon-is-checkout .header__nav {
    background:#111 !important;
  }

  .catalog__grid { grid-template-columns:1fr; gap:32px; }
  .new-products__grid { grid-template-columns:1fr 1fr; gap:16px; }
  .welcome__title { letter-spacing:3px; }
  .about-brand { padding:80px 0; }
  .about-brand__text { font-size:1.1rem; }
  .contact__inner { flex-direction:column; gap:32px; }
  .checkout__row { flex-direction:column; gap:8px; }
  .notification-container { top:76px; left:20px; right:20px; transform:none; }
}

/* ===== HOME ===== */
body.yon-is-front,
body.home {
  display:block !important;
}
.yon-home,
.yon-front,
body.yon-is-front #main-content,
body.yon-is-front .yon-home,
body.yon-is-front .welcome,
body.yon-is-front .new-products,
body.yon-is-front .about-brand,
body.yon-is-front .contact {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* ===== WOOCOMMERCE CATALOG ===== */
.yon-shop .catalog__header .woocommerce-result-count {
  font-size:.85rem; color:#888; margin:0;
}
.woocommerce .woocommerce-breadcrumb,
.yon-shop .woocommerce-ordering { display:none !important; }
.products.catalog__grid {
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr)) !important;
  gap:40px 28px !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.products.catalog__grid::before,
.products.catalog__grid::after { display:none !important; }
.products.catalog__grid .product {
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}
.product-card__image img {
  width:100%; height:100%; object-fit:cover;
  aspect-ratio:3/4;
}
.product-card.product {
  list-style:none;
}
.product-card .onsale,
.product-detail__inner .onsale {
  display:none;
}
.product-card__name {
  color:#111;
  text-decoration:none;
}
.product-card__price del {
  color:#aaa;
  margin-right:6px;
}
.product-card__price ins {
  color:#111;
  text-decoration:none;
}
.woocommerce nav.woocommerce-pagination {
  margin-top:48px;
  text-align:center;
}
.woocommerce nav.woocommerce-pagination ul {
  display:inline-flex;
  gap:8px;
  border:0;
  list-style:none;
  margin:0;
  padding:0;
}
.woocommerce nav.woocommerce-pagination ul li {
  border:0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  border:1px solid #ddd;
  color:#111;
  font-size:.82rem;
  font-weight:700;
  text-decoration:none;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background:#111;
  border-color:#111;
  color:#fff;
}
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error {
  border-top:0;
  background:#f7f7f7;
  color:#111;
  line-height:1.5;
  animation:yonNoticeIn .45s cubic-bezier(.22,1,.36,1) both;
}
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-error::before {
  display:none;
}
.woocommerce .woocommerce-message {
  position:relative;
  overflow:hidden;
}
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button {
  border-radius:0 !important;
  background:#111 !important;
  color:#fff !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  letter-spacing:1.3px;
  text-transform:uppercase;
}
@keyframes yonNoticeIn {
  from {
    opacity:0;
    transform:translateY(-12px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}

/* ===== WOOCOMMERCE SINGLE PRODUCT ===== */
.yon-product .product-detail__inner {
  display:grid;
}
.product-detail__gallery {
  min-width:0;
}
.yon-wc-add-to-cart .variations {
  width:100%;
  margin:0 0 12px;
  border-collapse:collapse;
}
.yon-wc-add-to-cart .variations tr {
  display:block;
  margin-bottom:14px;
}
.yon-wc-add-to-cart .variations .label,
.yon-wc-add-to-cart .variations .value {
  display:block;
  padding:0;
}
.yon-wc-add-to-cart .variations .label label {
  display:block;
  margin-bottom:8px;
  font-size:.7rem; color:#bbb; letter-spacing:1.5px; text-transform:uppercase;
}
.yon-wc-add-to-cart .variations select {
  width:100%;
  min-height:46px;
  padding:12px 16px; border:1px solid #ddd; font-size:.88rem;
  background:#fff;
  border-radius:0;
}
.yon-wc-add-to-cart .reset_variations {
  display:inline-block;
  margin-top:8px;
  color:#999;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:1px;
  text-decoration:none;
  text-transform:uppercase;
}
.yon-wc-add-to-cart .woocommerce-variation-price {
  margin-bottom:12px;
  color:#111;
  font-weight:700;
}
.yon-wc-add-to-cart .woocommerce-variation-availability {
  margin-bottom:12px;
}
.yon-wc-add-to-cart .single_add_to_cart_button,
.yon-wc-add-to-cart button[type="submit"] {
  width:100%; padding:16px; margin-top:16px;
  background:#111 !important; color:#fff !important;
  font-size:.85rem; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  border:none !important; border-radius:0 !important;
  transition:opacity .25s;
}
.yon-wc-add-to-cart .single_add_to_cart_button:hover { opacity:.85; }
.yon-wc-add-to-cart .single_add_to_cart_button.is-loading,
.yon-wc-add-to-cart .single_add_to_cart_button:disabled {
  opacity:.55;
  cursor:wait;
}
.yon-wc-add-to-cart .quantity { margin-bottom:12px; }
.yon-wc-add-to-cart .quantity input {
  height:44px;
  padding:10px; border:1px solid #ddd; width:80px;
  text-align:center;
  font-weight:700;
}
.product-detail__image .product-detail__img {
  width:100%; height:100%; object-fit:cover;
}
.product-detail__placeholder {
  font-size:.8rem; color:#bbb; text-transform:uppercase;
}
.product-detail__arrow--disabled {
  opacity:.35; pointer-events:none;
}
.product-detail__thumbs {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(56px,1fr));
  gap:8px; margin-top:12px;
}
.product-detail__thumb {
  aspect-ratio:1/1;
  border:1px solid transparent;
  background:#f5f5f5;
  cursor:pointer;
  overflow:hidden;
}
.product-detail__thumb.active,
.product-detail__thumb:hover {
  border-color:#111;
}
.product-detail__thumb img {
  width:100%; height:100%; object-fit:cover;
}
.product-detail__description {
  font-size:.88rem; color:#666; line-height:1.7;
}
.product-detail__stock {
  margin-bottom:18px;
  color:#777;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
}
.product-detail__stock p {
  margin:0;
}
.product-detail__stock--instock {
  color:#4f7d51;
}
.product-detail__stock--outofstock {
  color:#b45a4d;
}
.product-detail__full-description {
  margin-top:28px;
  color:#666;
  font-size:.88rem;
  line-height:1.7;
}
.product-detail__wc-cart .stock {
  display:none;
}
.product-detail__wc-cart form.cart {
  margin:0;
}
.yon-product .product-detail__thumbs,
.yon-product .product-detail__stock,
.yon-product .product-detail__full-description {
  display:none;
}
.yon-product .yon-wc-add-to-cart {
  margin-top:28px;
}
.yon-product .yon-product-sizes {
  margin-bottom:0;
}
.yon-product .yon-wc-add-to-cart .variations {
  margin-bottom:4px;
}
.yon-product .yon-wc-add-to-cart .single_add_to_cart_button,
.yon-product .yon-wc-add-to-cart button[type="submit"] {
  margin-top:0;
}
.yon-product .yon-wc-add-to-cart .quantity {
  display:none !important;
}
.yon-product .product-detail__price-note {
  margin-top:10px;
  color:#999;
  font-size:.78rem;
  line-height:1.5;
}
.yon-wc-page .woocommerce-notices-wrapper { margin-bottom:24px; }
.header__cart-btn--link { text-decoration:none; }

/* Приховати дубль заголовка WC на single */
.yon-product .product .summary { display:none; }
.yon-product .woocommerce-product-gallery { display:none; }

/* ===== WOOCOMMERCE CART PAGE ===== */
.yon-is-cart .yon-wc-page .catalog {
  padding-top:100px;
  padding-bottom:80px;
  min-height:80vh;
}
.yon-cart__heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:40px;
}
.yon-cart__title {
  font-size:clamp(2.4rem,6vw,5rem);
  font-weight:800;
  line-height:.95;
  text-transform:uppercase;
}
.yon-cart__count {
  font-size:.85rem;
  color:#888;
  white-space:nowrap;
}
.yon-cart__layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:48px;
  align-items:start;
}
.yon-cart__items {
  border-top:1px solid #eee;
}
.yon-cart-item {
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:24px;
  padding:24px 0;
  border-bottom:1px solid #eee;
}
.yon-cart-item__image {
  display:block;
  aspect-ratio:3/4;
  background:#f5f5f5;
  overflow:hidden;
}
.yon-cart-item__image img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.yon-cart-item__top {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
}
.yon-cart-item__name {
  display:inline-block;
  color:#111;
  font-size:.92rem;
  font-weight:800;
  line-height:1.3;
  text-decoration:none;
  text-transform:uppercase;
}
.yon-cart-item__meta {
  margin-top:8px;
  font-size:.78rem;
  color:#888;
}
.yon-cart-item__meta p {
  margin:0;
}
.yon-cart-item__price,
.yon-cart-item__subtotal {
  font-size:.9rem;
  font-weight:700;
  white-space:nowrap;
}
.yon-cart-item__bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.yon-cart-item__quantity .quantity {
  display:flex;
  align-items:center;
}
.yon-cart-item__quantity input.qty {
  width:76px;
  height:40px;
  border:1px solid #ddd;
  background:#fff;
  color:#111;
  font-weight:700;
  text-align:center;
}
.yon-cart-item__remove {
  color:#999 !important;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:1.2px;
  text-decoration:none;
  text-transform:uppercase;
}
.yon-cart-item__remove:hover {
  color:#111 !important;
}
.yon-cart__summary {
  position:sticky;
  top:88px;
  border:1px solid #eee;
  padding:28px;
  background:#fff;
}
.yon-cart__summary-title {
  margin-bottom:22px;
  font-size:1.1rem;
  font-weight:800;
  text-transform:uppercase;
}
.yon-cart__coupon {
  display:flex;
  gap:8px;
  margin-bottom:22px;
}
.yon-cart__coupon-input {
  flex:1;
  min-width:0;
  border:1px solid #ddd;
  padding:12px 14px;
  font-size:.85rem;
}
.yon-cart__coupon-btn,
.yon-cart__update,
.wc-proceed-to-checkout .checkout-button,
.yon-cart__summary .checkout-button {
  border:0 !important;
  border-radius:0 !important;
  background:#111 !important;
  color:#fff !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:1.6px;
  line-height:1 !important;
  text-align:center;
  text-transform:uppercase;
}
.yon-cart__coupon-btn {
  padding:0 16px !important;
}
.yon-cart__update,
.wc-proceed-to-checkout .checkout-button,
.yon-cart__summary .checkout-button {
  display:block !important;
  width:100% !important;
  padding:16px !important;
}
.yon-cart__update {
  margin-top:14px !important;
  background:#f1f1f1 !important;
  color:#111 !important;
}
.yon-cart__summary .checkout-button {
  margin-top:14px;
  text-decoration:none;
}
.yon-cart__totals .cart_totals {
  float:none;
  width:100%;
}
.yon-cart__totals .cart_totals h2 {
  display:none;
}
.yon-cart__totals table {
  width:100%;
  border-collapse:collapse;
  margin:0 0 18px;
}
.yon-cart__totals th,
.yon-cart__totals td {
  border:0;
  border-top:1px solid #eee;
  padding:14px 0;
  font-size:.88rem;
  text-align:left;
  vertical-align:top;
}
.yon-cart__totals td {
  text-align:right;
}
.yon-cart__totals .order-total th,
.yon-cart__totals .order-total td {
  font-size:1rem;
  font-weight:800;
}
.yon-cart__totals .woocommerce-shipping-methods {
  list-style:none;
  margin:0;
  padding:0;
}
.yon-cart__totals .woocommerce-shipping-destination,
.yon-cart__totals .woocommerce-shipping-calculator {
  margin-top:8px;
  color:#777;
  font-size:.78rem;
}
.woocommerce-cart .return-to-shop .button,
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
  border-radius:0 !important;
  background:#111 !important;
  color:#fff !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:1.4px;
  text-transform:uppercase;
}
.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  font-size:.88rem;
}

@media (max-width:900px) {
  .yon-cart__layout {
    grid-template-columns:1fr;
    gap:32px;
  }
  .yon-cart__summary {
    position:static;
  }
}

@media (max-width:600px) {
  .yon-cart__heading {
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .yon-cart-item {
    grid-template-columns:88px minmax(0,1fr);
    gap:16px;
  }
  .yon-cart-item__top,
  .yon-cart-item__bottom {
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
    margin-bottom:18px;
  }
  .yon-cart__coupon {
    flex-direction:column;
  }
  .yon-cart__coupon-btn {
    padding:14px 16px !important;
  }
}

/* ===== WOOCOMMERCE CHECKOUT PAGE ===== */
.yon-wc-page--checkout .checkout {
  padding-top:100px;
  padding-bottom:80px;
  min-height:100vh;
}
.yon-wc-page--checkout .woocommerce {
  width:100%;
}
.yon-wc-page--checkout .woocommerce-notices-wrapper {
  margin-bottom:24px;
}
.yon-wc-page--checkout form.checkout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:48px;
  align-items:start;
  padding:0;
  min-height:0;
}
.yon-wc-page--checkout #customer_details {
  display:block;
}
.yon-wc-page--checkout #customer_details .col-1,
.yon-wc-page--checkout #customer_details .col-2 {
  float:none;
  width:100%;
}
.yon-wc-page--checkout #customer_details .col-2 {
  margin-top:28px;
}
.yon-wc-page--checkout .woocommerce-billing-fields,
.yon-wc-page--checkout .woocommerce-shipping-fields,
.yon-wc-page--checkout .woocommerce-additional-fields,
.yon-wc-page--checkout #order_review {
  border:1px solid #eee;
  background:#fff;
  padding:28px;
}
.yon-wc-page--checkout .woocommerce-billing-fields h3,
.yon-wc-page--checkout .woocommerce-shipping-fields h3,
.yon-wc-page--checkout .woocommerce-additional-fields h3,
.yon-wc-page--checkout #order_review_heading {
  margin:0 0 22px;
  font-size:1.1rem;
  font-weight:800;
  text-transform:uppercase;
}
.yon-wc-page--checkout #order_review_heading {
  grid-column:2;
  grid-row:1;
  align-self:start;
  border:1px solid #eee;
  border-bottom:0;
  padding:28px 28px 0;
  background:#fff;
}
.yon-wc-page--checkout #order_review {
  grid-column:2;
  grid-row:1 / span 2;
  padding-top:64px;
}
.yon-wc-page--checkout #customer_details {
  grid-column:1;
  grid-row:1 / span 2;
}
.yon-wc-page--checkout .form-row {
  margin:0 0 16px !important;
  padding:0 !important;
}
.yon-wc-page--checkout label {
  display:block;
  margin-bottom:8px;
  color:#555;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.yon-wc-page--checkout input.input-text,
.yon-wc-page--checkout textarea,
.yon-wc-page--checkout select,
.yon-wc-page--checkout .select2-container .select2-selection--single {
  width:100%;
  min-height:46px;
  border:1px solid #ddd;
  border-radius:0;
  background:#fff;
  color:#111;
  font-size:.9rem;
  padding:12px 14px;
}
.yon-wc-page--checkout textarea {
  min-height:110px;
  resize:vertical;
}
.yon-wc-page--checkout input.input-text:focus,
.yon-wc-page--checkout textarea:focus,
.yon-wc-page--checkout select:focus {
  border-color:#111;
  outline:none;
}
.yon-wc-page--checkout .select2-container .select2-selection--single .select2-selection__rendered {
  padding:0;
  line-height:20px;
}
.yon-wc-page--checkout .select2-container .select2-selection--single .select2-selection__arrow {
  height:44px;
}
.yon-wc-page--checkout .woocommerce-checkout-review-order-table {
  width:100%;
  border-collapse:collapse;
  margin:0 0 22px;
}
.yon-wc-page--checkout .woocommerce-checkout-review-order-table th,
.yon-wc-page--checkout .woocommerce-checkout-review-order-table td {
  border:0;
  border-top:1px solid #eee;
  padding:14px 0;
  font-size:.88rem;
  text-align:left;
  vertical-align:top;
}
.yon-wc-page--checkout .woocommerce-checkout-review-order-table td {
  text-align:right;
}
.yon-wc-page--checkout .woocommerce-checkout-review-order-table .order-total th,
.yon-wc-page--checkout .woocommerce-checkout-review-order-table .order-total td {
  font-size:1rem;
  font-weight:800;
}
.yon-wc-page--checkout #payment {
  border-radius:0;
  background:#f7f7f7;
}
.yon-wc-page--checkout #payment ul.payment_methods {
  border-bottom:1px solid #e5e5e5;
  padding:18px;
}
.yon-wc-page--checkout #payment div.form-row {
  padding:18px !important;
}
.yon-wc-page--checkout #place_order {
  width:100%;
  border:0 !important;
  border-radius:0 !important;
  background:#111 !important;
  color:#fff !important;
  padding:16px !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:1.6px;
  text-transform:uppercase;
}
.yon-wc-page--checkout .yon-checkout-form {
  padding:0;
  min-height:0;
}
.yon-wc-page--checkout .yon-checkout-form .checkout__inner {
  display:grid;
  grid-template-columns:1fr 420px;
  gap:60px;
  align-items:start;
}
.yon-wc-page--checkout .yon-checkout-form .checkout__form-side,
.yon-wc-page--checkout .yon-checkout-form .checkout__summary-side {
  border:0;
  padding:0;
  background:transparent;
}
.yon-wc-page--checkout .yon-checkout-fields .woocommerce-billing-fields,
.yon-wc-page--checkout .yon-checkout-fields .woocommerce-shipping-fields,
.yon-wc-page--checkout .yon-checkout-fields .woocommerce-additional-fields {
  border:0;
  padding:0;
}
.yon-wc-page--checkout .yon-checkout-fields h3 {
  margin:0 0 14px;
  font-size:.9rem;
  font-weight:700;
  text-transform:none;
}
.yon-wc-page--checkout .yon-checkout-form #customer_details,
.yon-wc-page--checkout .yon-checkout-form #order_review {
  display:block;
  grid-column:auto;
  grid-row:auto;
}
.yon-wc-page--checkout .yon-checkout-form #order_review {
  border:0;
  padding:0;
}
.yon-wc-page--checkout .yon-checkout-form .form-row-first,
.yon-wc-page--checkout .yon-checkout-form .form-row-last {
  float:none;
  width:100%;
}
.yon-wc-page--checkout .yon-checkout-form .woocommerce-checkout-review-order-table {
  margin-bottom:16px;
}
.yon-wc-page--checkout .yon-checkout-form .woocommerce-checkout-review-order-table thead {
  display:none;
}
.yon-wc-page--checkout .yon-checkout-form .woocommerce-checkout-review-order-table th,
.yon-wc-page--checkout .yon-checkout-form .woocommerce-checkout-review-order-table td {
  padding:10px 0;
  font-size:.82rem;
}
.yon-wc-page--checkout .yon-checkout-form #payment {
  background:transparent;
}
.yon-wc-page--checkout .yon-checkout-form #payment ul.payment_methods,
.yon-wc-page--checkout .yon-checkout-form #payment div.form-row {
  padding:0 !important;
  border:0;
}
.yon-wc-page--checkout .yon-checkout-form #payment ul.payment_methods {
  margin-bottom:18px;
}
.yon-wc-page--checkout .yon-checkout-form #place_order {
  margin-top:20px;
}
.yon-wc-page--checkout .yon-checkout-form .form-row {
  flex:1;
}
.yon-wc-page--checkout .yon-checkout-form .form-row label {
  display:none;
}
.yon-wc-page--checkout .yon-checkout-form input.input-text,
.yon-wc-page--checkout .yon-checkout-form textarea,
.yon-wc-page--checkout .yon-checkout-form select {
  border:1px solid #ddd;
  border-radius:0;
  background:#fff;
  padding:12px 16px;
  min-height:43px;
  font-size:.9rem;
}
.yon-wc-page--checkout .yon-checkout-form textarea {
  min-height:78px;
}
.yon-checkout-review .woocommerce-checkout-review-order-table thead,
.yon-checkout-review .woocommerce-checkout-review-order-table tbody {
  display:none;
}
.yon-checkout-review .woocommerce-checkout-review-order-table {
  margin:0;
}
.yon-checkout-review .woocommerce-checkout-review-order-table tfoot th,
.yon-checkout-review .woocommerce-checkout-review-order-table tfoot td {
  border:0;
  padding:6px 0;
  font-size:.88rem;
}
.yon-checkout-review .woocommerce-checkout-review-order-table tfoot td {
  text-align:right;
}
.yon-checkout-review .woocommerce-checkout-review-order-table .order-total th,
.yon-checkout-review .woocommerce-checkout-review-order-table .order-total td {
  padding-top:14px;
  font-size:1rem;
  font-weight:800;
}
.yon-checkout-review #payment {
  margin-top:16px;
}
.yon-checkout-review #payment ul.payment_methods {
  margin:0 0 14px;
}
.yon-checkout-review .woocommerce-privacy-policy-text {
  color:#777;
  font-size:.76rem;
  line-height:1.5;
}

@media (max-width:900px) {
  .yon-wc-page--checkout form.checkout {
    grid-template-columns:1fr;
    gap:28px;
  }
  .yon-wc-page--checkout #customer_details,
  .yon-wc-page--checkout #order_review_heading,
  .yon-wc-page--checkout #order_review {
    grid-column:auto;
    grid-row:auto;
  }
  .yon-wc-page--checkout #order_review_heading {
    border-bottom:1px solid #eee;
    padding:28px;
    margin-bottom:-28px;
  }
  .yon-wc-page--checkout #order_review {
    padding-top:28px;
  }
  .yon-wc-page--checkout .yon-checkout-form .checkout__inner {
    grid-template-columns:1fr;
    gap:32px;
  }
}

/* ===== CHECKOUT EXACT LEGACY LAYOUT ===== */
body.yon-is-checkout .header {
  height:60px;
}
body.yon-is-checkout .yon-wc-page--checkout .checkout {
  padding-top:40px;
  padding-bottom:80px;
  min-height:calc(100vh - 60px);
}
body.yon-is-checkout .yon-wc-page--checkout .container {
  max-width:1152px;
  padding:0;
}
body.yon-is-checkout .yon-wc-page--checkout form.checkout.yon-checkout-form {
  display:block !important;
  width:100%;
  padding:0 !important;
  margin:0 !important;
}
body.yon-is-checkout .yon-checkout-form .checkout__inner {
  display:grid !important;
  grid-template-columns:672px 420px !important;
  gap:60px !important;
  align-items:start;
}
body.yon-is-checkout .checkout__form-side {
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
body.yon-is-checkout .checkout__heading {
  margin:0 0 34px;
  color:#111;
  font-size:1.62rem;
  line-height:1.1;
  font-weight:800;
}
body.yon-is-checkout .checkout__field-group {
  margin-bottom:28px;
}
body.yon-is-checkout .checkout__label {
  margin:0 0 14px;
  color:#111;
  font-size:.9rem;
  line-height:1.2;
  font-weight:800;
}
body.yon-is-checkout .checkout__row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:12px;
}
body.yon-is-checkout .yon-checkout-form .form-row {
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
body.yon-is-checkout .yon-checkout-form .form-row label,
body.yon-is-checkout .yon-checkout-form .optional {
  display:none !important;
}
body.yon-is-checkout .yon-checkout-form input.input-text,
body.yon-is-checkout .yon-checkout-form textarea,
body.yon-is-checkout .yon-checkout-form select {
  width:100%;
  min-height:43px;
  border:1px solid #ddd;
  border-radius:0;
  background:#fff;
  color:#111;
  padding:12px 16px;
  font-size:.9rem;
  line-height:1.2;
  box-shadow:none;
  outline:none;
  transition:border-color .25s cubic-bezier(.22,1,.36,1), box-shadow .25s cubic-bezier(.22,1,.36,1);
}
body.yon-is-checkout .yon-checkout-form input.input-text:focus,
body.yon-is-checkout .yon-checkout-form textarea:focus,
body.yon-is-checkout .yon-checkout-form select:focus {
  border-color:#111;
  box-shadow:0 0 0 1px #111;
}
body.yon-is-checkout .yon-checkout-form input.input-text::placeholder,
body.yon-is-checkout .yon-checkout-form textarea::placeholder {
  color:#777;
  opacity:1;
}
body.yon-is-checkout .yon-checkout-form textarea {
  min-height:78px;
  resize:vertical;
}
body.yon-is-checkout .checkout__radio-group {
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:0 0 24px;
}
body.yon-is-checkout .checkout__radio {
  display:flex !important;
  align-items:center;
  gap:12px;
  margin:0;
  color:#222;
  font-size:.92rem;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}
body.yon-is-checkout .checkout__radio input {
  width:13px;
  height:13px;
  margin:0;
  accent-color:#111;
}
body.yon-is-checkout .checkout__summary-side {
  width:420px;
  min-height:0;
  border:1px solid #eee !important;
  background:#fff !important;
  padding:34px 32px 32px !important;
}
body.yon-is-checkout .checkout__summary-title {
  margin:0 0 36px;
  color:#000;
  font-size:1.25rem;
  line-height:1.15;
  font-weight:800;
}
body.yon-is-checkout .checkout__summary-item {
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
  margin:0 0 14px;
}
body.yon-is-checkout .checkout__summary-item-img {
  width:56px;
  height:56px;
  background:#eee;
  overflow:hidden;
}
body.yon-is-checkout .checkout__summary-item-img img {
  width:100%;
  height:100%;
  object-fit:cover;
}
body.yon-is-checkout .checkout__summary-item-name {
  margin:0 0 2px;
  color:#000;
  font-size:.78rem;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
}
body.yon-is-checkout .checkout__summary-item-meta {
  color:#888;
  font-size:.72rem;
  line-height:1.25;
}
body.yon-is-checkout .checkout__summary-item-price {
  color:#000;
  font-size:.86rem;
  font-weight:700;
  white-space:nowrap;
}
body.yon-is-checkout .checkout__summary-divider {
  border:0;
  border-top:1px solid #eee;
  margin:16px 0;
}
body.yon-is-checkout .checkout__summary-details {
  margin:0 0 16px;
}
body.yon-is-checkout .checkout__summary-details .checkout__label {
  margin-bottom:18px;
}
body.yon-is-checkout .checkout__summary-detail-line {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:0;
  margin-bottom:14px;
  color:#000;
  font-size:.86rem;
}
body.yon-is-checkout .checkout__promo-row {
  display:grid;
  grid-template-columns:1fr 132px;
  gap:8px;
  margin:0 0 16px;
}
body.yon-is-checkout .checkout__input--promo {
  min-width:0;
  height:43px;
}
body.yon-is-checkout .checkout__promo-btn {
  height:43px;
  border:0;
  background:#111;
  color:#fff;
  padding:0 14px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.4px;
  white-space:nowrap;
}
body.yon-is-checkout .yon-checkout-review .woocommerce-checkout-review-order-table {
  width:100%;
  margin:0;
  border-collapse:collapse;
  border:0 !important;
}
body.yon-is-checkout .yon-checkout-review .woocommerce-checkout-review-order-table thead,
body.yon-is-checkout .yon-checkout-review .woocommerce-checkout-review-order-table tbody {
  display:none !important;
}
body.yon-is-checkout .yon-checkout-review .woocommerce-checkout-review-order-table tfoot th,
body.yon-is-checkout .yon-checkout-review .woocommerce-checkout-review-order-table tfoot td {
  border:0 !important;
  padding:6px 0;
  color:#000;
  font-size:.86rem;
  font-weight:400;
  text-align:left;
}
body.yon-is-checkout .yon-checkout-review .woocommerce-checkout-review-order-table tr,
body.yon-is-checkout .yon-checkout-review .woocommerce-checkout-review-order-table tbody,
body.yon-is-checkout .yon-checkout-review .woocommerce-checkout-review-order-table tfoot {
  border:0 !important;
}
body.yon-is-checkout .yon-checkout-review .woocommerce-checkout-review-order-table tfoot td {
  text-align:right;
}
body.yon-is-checkout .yon-checkout-review .woocommerce-checkout-review-order-table .order-total th,
body.yon-is-checkout .yon-checkout-review .woocommerce-checkout-review-order-table .order-total td {
  padding-top:12px;
  font-size:1rem;
  font-weight:800;
}
body.yon-is-checkout .yon-checkout-review #payment {
  margin-top:18px;
  border-radius:0;
  background:transparent;
}
body.yon-is-checkout .yon-checkout-review #payment ul.payment_methods,
body.yon-is-checkout .yon-checkout-review .woocommerce-privacy-policy-text {
  display:none !important;
}
body.yon-is-checkout .yon-checkout-review #payment div.form-row {
  padding:0 !important;
  margin:0 !important;
}
body.yon-is-checkout .yon-checkout-review #place_order {
  width:100%;
  height:49px;
  margin:14px 0 0;
  border:0 !important;
  border-radius:0 !important;
  background:#111 !important;
  color:#fff !important;
  padding:0 !important;
  font-size:.9rem !important;
  font-weight:800 !important;
  letter-spacing:2px;
  line-height:49px !important;
  text-transform:uppercase;
}

@media (max-width:1180px) {
  body.yon-is-checkout .yon-wc-page--checkout .container {
    max-width:none;
    padding:0 24px;
  }
  body.yon-is-checkout .yon-checkout-form .checkout__inner {
    grid-template-columns:minmax(0,1fr) 420px !important;
  }
}

@media (max-width:900px) {
  body.yon-is-checkout .yon-checkout-form .checkout__inner {
    grid-template-columns:1fr !important;
    gap:32px !important;
  }
  body.yon-is-checkout .checkout__summary-side {
    width:100%;
  }
}

@media (max-width:620px) {
  body.yon-is-checkout .checkout__row,
  body.yon-is-checkout .checkout__promo-row {
    grid-template-columns:1fr;
  }
}

/* ===== ACTIVE HOME ASSETS OVERRIDE ===== */
body.yon-is-front .welcome.welcome--image,
.welcome.welcome--image {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#0a0a0a url('../img/home-hero.png') center center / cover no-repeat !important;
}
body.yon-is-front .welcome.welcome--image .welcome__content,
.welcome.welcome--image .welcome__content {
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  padding:54px 24px 10vh !important;
}
.header__logo.header__logo--image {
  width:44px !important;
  height:44px !important;
  display:flex !important;
}
.header__logo.header__logo--image .header__logo-img {
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  filter:invert(1) !important;
}

@media (max-width:768px) {
  html body #header.header {
    background:#111 !important;
    background-color:#111 !important;
    pointer-events:auto;
  }
  html body #header.header .header__inner,
  html body #header.header .header__menu-btn,
  html body #header.header .header__cart-btn,
  html body #header.header .header__logo,
  html body #header.header .header__nav {
    pointer-events:auto;
  }
  #header-nav.header__nav,
  #header-nav.header__nav.open,
  body.menu-open #header-nav.header__nav {
    background:#111 !important;
    background-color:#111 !important;
    background-image:none !important;
    height:100vh !important;
    min-height:100dvh !important;
    opacity:1 !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  #header-nav.header__nav::before {
    display:none !important;
    content:none !important;
  }
}
