/* TESLASHOP.GE — Phase 14 DIY / Knowledge Hub v2
   Dark + Light · Mobile-first · isolated under .diy-v2-page */

html:has(.diy-v2-page) { overflow-x: clip; }
body:has(.diy-v2-page) { overflow-x: clip; }

.diy-v2-page {
  --diy-accent: var(--evx-accent-diy, #12a6a6);
  --diy-accent-strong: #087f83;
  --diy-accent-soft: color-mix(in srgb, var(--diy-accent) 13%, transparent);
  --diy-hero-surface: linear-gradient(145deg, #07131b 0%, #0d2430 50%, #102b2f 100%);
  min-width: 0;
  color: var(--evx-text);
  background: var(--evx-bg);
}

.diy-v2-page[data-evx-theme="light"] {
  --diy-hero-surface: linear-gradient(145deg, #08141c 0%, #0e2a36 56%, #12383a 100%);
}

.diy-v2-page[data-evx-theme="dark"] {
  --diy-accent: #2bc0bd;
  --diy-accent-strong: #69dbd7;
  --diy-accent-soft: rgba(43, 192, 189, .13);
  --diy-hero-surface: linear-gradient(145deg, #040b11 0%, #0a1a24 52%, #0b2527 100%);
}

.diy-v2-page :where(a, button, input) { -webkit-tap-highlight-color: transparent; }
.diy-v2-page :where(img, iframe, table, pre) { max-width: 100%; }
.diy-v2-page :where(h1, h2, h3, p, span, a, li) { overflow-wrap: anywhere; }

.diy-v2-shell {
  width: min(100% - 2rem, 92rem);
  min-width: 0;
  margin-inline: auto;
  padding-block: 1rem clamp(5.5rem, 8vw, 7rem);
}

.diy-v2-breadcrumb {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .55rem;
  margin-bottom: 1rem;
  color: var(--evx-text-muted);
  font-size: .78rem;
  white-space: nowrap;
  overflow: hidden;
}

.diy-v2-breadcrumb a {
  color: var(--evx-text-secondary);
  text-decoration: none;
  transition: color var(--evx-transition);
}

.diy-v2-breadcrumb a:hover { color: var(--diy-accent-strong); }
.diy-v2-breadcrumb span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }

.diy-v2-kicker {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  width: fit-content;
  color: #7de1dd;
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.diy-v2-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  min-width: 0;
  gap: 1.25rem;
  padding: clamp(1.25rem, 4vw, 3rem);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: clamp(1.4rem, 4vw, 2.25rem);
  background: var(--diy-hero-surface);
  box-shadow: 0 26px 68px rgba(0, 12, 18, .28);
}

.diy-v2-hero::before,
.diy-v2-hero::after {
  position: absolute;
  z-index: -1;
  content: "";
  border-radius: 50%;
  pointer-events: none;
}

.diy-v2-hero::before {
  top: -12rem;
  left: -10rem;
  width: 28rem;
  height: 28rem;
  background: radial-gradient(circle, rgba(43, 192, 189, .2), transparent 68%);
}

.diy-v2-hero::after {
  right: -9rem;
  bottom: -12rem;
  width: 30rem;
  height: 30rem;
  background: radial-gradient(circle, rgba(239, 51, 64, .12), transparent 70%);
}

.diy-v2-hero__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
}

.diy-v2-hero__copy h1 {
  max-width: 12ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2.05rem, 8vw, 4.75rem);
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.055em;
}

.diy-v2-hero__copy > p {
  max-width: 42rem;
  margin: 0;
  color: rgba(231, 242, 247, .73);
  font-size: clamp(.98rem, 2vw, 1.15rem);
  line-height: 1.7;
}

.diy-v2-search {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .35rem;
  width: min(100%, 44rem);
  min-height: 3.65rem;
  margin-top: .35rem;
  padding: .35rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, .08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
  backdrop-filter: blur(14px);
}

.diy-v2-search:focus-within {
  border-color: rgba(105, 219, 215, .65);
  box-shadow: 0 0 0 4px rgba(43, 192, 189, .13);
}

.diy-v2-search__icon {
  display: grid;
  width: 2.65rem;
  height: 2.65rem;
  place-items: center;
  color: #89a9b4;
}

.diy-v2-search input {
  min-width: 0;
  height: 2.85rem;
  padding: 0 .25rem;
  border: 0;
  outline: 0;
  color: #fff;
  background: transparent;
  font-size: 1rem;
}

.diy-v2-search input::placeholder { color: rgba(217, 232, 238, .54); }

.diy-v2-search__clear {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: .85rem;
  color: rgba(255, 255, 255, .72);
  text-decoration: none;
}

.diy-v2-search__clear:hover { color: #fff; background: rgba(255, 255, 255, .08); }

.diy-v2-search__submit {
  min-width: 5.75rem;
  min-height: 2.85rem;
  padding-inline: 1rem;
  border: 0;
  border-radius: .85rem;
  color: #041416;
  background: #71dfda;
  font-weight: 850;
  cursor: pointer;
  transition: transform var(--evx-transition), background var(--evx-transition);
}

.diy-v2-search__submit:hover { background: #8ce8e4; transform: translateY(-1px); }
.diy-v2-search__submit[aria-busy="true"] { opacity: .72; cursor: wait; }

.diy-v2-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin-top: .25rem;
}

.diy-v2-hero__stats > div {
  min-width: 0;
  padding: .85rem .75rem;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .045);
}

.diy-v2-hero__stats strong,
.diy-v2-hero__stats span { display: block; }
.diy-v2-hero__stats strong { color: #fff; font-size: clamp(1.2rem, 4vw, 1.75rem); line-height: 1.1; }
.diy-v2-hero__stats span { margin-top: .25rem; color: rgba(219, 234, 240, .58); font-size: .68rem; }

.diy-v2-featured {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 20rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 1.55rem;
  color: #fff;
  background: #0a151c;
  text-decoration: none;
  box-shadow: 0 24px 55px rgba(0, 0, 0, .25);
}

.diy-v2-featured img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 520ms cubic-bezier(.2, .8, .2, 1);
}

.diy-v2-featured:hover img { transform: scale(1.035); }

.diy-v2-featured__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2, 9, 13, .1), rgba(2, 9, 13, .28) 35%, rgba(2, 9, 13, .94) 100%);
}

.diy-v2-featured__badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .75rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  color: #e7fffd;
  background: rgba(5, 20, 23, .7);
  font-size: .72rem;
  font-weight: 800;
  backdrop-filter: blur(12px);
}

.diy-v2-featured__content {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: .45rem;
}

.diy-v2-featured__content strong {
  max-width: 28ch;
  font-size: clamp(1.25rem, 4vw, 2.1rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -.03em;
}

.diy-v2-featured__content small { color: rgba(236, 246, 248, .7); font-size: .78rem; }
.diy-v2-featured__content > span { display: inline-flex; align-items: center; gap: .45rem; margin-top: .35rem; color: #8ce8e4; font-size: .82rem; font-weight: 850; }

.diy-v2-hero__visual {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: .75rem;
  min-height: 18rem;
}

.diy-v2-hero__visual span {
  display: grid;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 1.5rem;
  color: #8ce8e4;
  background: rgba(255, 255, 255, .04);
}

.diy-v2-toolbar {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin: clamp(2rem, 6vw, 4.5rem) 0 1.25rem;
}

.diy-v2-toolbar > div { min-width: 0; }
.diy-v2-toolbar__eyebrow { color: var(--diy-accent-strong); font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.diy-v2-toolbar h2 { margin: .3rem 0 0; color: var(--evx-text-strong); font-size: clamp(1.45rem, 4vw, 2.25rem); line-height: 1.15; letter-spacing: -.035em; }
.diy-v2-toolbar p { margin: .4rem 0 0; color: var(--evx-text-muted); font-size: .82rem; }

.diy-v2-primary-button,
.diy-v2-secondary-button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .7rem 1rem;
  border-radius: .9rem;
  text-decoration: none;
  font-size: .85rem;
  font-weight: 800;
  transition: transform var(--evx-transition), border-color var(--evx-transition), background var(--evx-transition);
}

.diy-v2-primary-button { color: #fff; background: var(--diy-accent-strong); }
.diy-v2-secondary-button { border: 1px solid var(--evx-border); color: var(--evx-text-secondary); background: var(--evx-surface); }
.diy-v2-primary-button:hover,
.diy-v2-secondary-button:hover { transform: translateY(-1px); }
.diy-v2-secondary-button:hover { border-color: color-mix(in srgb, var(--diy-accent) 52%, var(--evx-border)); color: var(--diy-accent-strong); }

.diy-v2-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.diy-v2-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--evx-border);
  border-radius: 1.25rem;
  background: var(--evx-surface);
  box-shadow: var(--evx-shadow-card);
  transition: transform var(--evx-transition-slow), border-color var(--evx-transition), box-shadow var(--evx-transition-slow);
}

.diy-v2-card:hover {
  border-color: color-mix(in srgb, var(--diy-accent) 48%, var(--evx-border));
  transform: translateY(-3px);
  box-shadow: var(--evx-shadow-float);
}

.diy-v2-card__media {
  position: relative;
  display: block;
  min-width: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  color: #fff;
  background: var(--evx-surface-3);
}

.diy-v2-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms cubic-bezier(.2, .8, .2, 1); }
.diy-v2-card:hover .diy-v2-card__media img { transform: scale(1.04); }
.diy-v2-card__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5, 10, 14, .24), transparent 52%, rgba(5, 10, 14, .32)); }
.diy-v2-card__topline { position: absolute; top: .75rem; right: .75rem; left: .75rem; display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.diy-v2-card__badge,
.diy-v2-card__video { display: inline-flex; min-height: 1.75rem; align-items: center; padding: .3rem .55rem; border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; color: #fff; background: rgba(4, 12, 16, .7); font-size: .65rem; font-weight: 850; backdrop-filter: blur(8px); }
.diy-v2-card__video { margin-left: auto; color: #ffe6e8; background: rgba(134, 15, 24, .78); }

.diy-v2-card__body { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: .65rem; padding: 1rem; }
.diy-v2-card__meta { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .45rem; color: var(--evx-text-muted); font-size: .7rem; }
.diy-v2-card__meta span { display: inline-flex; min-width: 0; align-items: center; gap: .35rem; }
.diy-v2-card h3 { margin: 0; color: var(--evx-text-strong); font-size: 1.04rem; line-height: 1.35; letter-spacing: -.02em; }
.diy-v2-card h3 a { color: inherit; text-decoration: none; }
.diy-v2-card h3 a:hover { color: var(--diy-accent-strong); }
.diy-v2-card__body > p { flex: 1; margin: 0; color: var(--evx-text-secondary); font-size: .82rem; line-height: 1.65; }
.diy-v2-card__footer { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: .75rem; padding-top: .75rem; border-top: 1px solid var(--evx-border); color: var(--evx-text-muted); font-size: .72rem; }
.diy-v2-card__footer span,
.diy-v2-card__footer a { display: inline-flex; align-items: center; gap: .35rem; }
.diy-v2-card__footer a { margin-left: auto; color: var(--diy-accent-strong); text-decoration: none; font-weight: 850; }

.diy-v2-pagination {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: 1.5rem;
  padding: .75rem;
  border: 1px solid var(--evx-border);
  border-radius: 1rem;
  background: var(--evx-surface);
}

.diy-v2-pagination > a,
.diy-v2-pagination > div a {
  display: inline-flex;
  min-width: 2.75rem;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  padding: .55rem .75rem;
  border-radius: .75rem;
  color: var(--evx-text-secondary);
  text-decoration: none;
  font-size: .8rem;
  font-weight: 800;
}

.diy-v2-pagination > div { display: flex; flex-wrap: wrap; gap: .3rem; }
.diy-v2-pagination a:hover { background: var(--evx-surface-2); color: var(--diy-accent-strong); }
.diy-v2-pagination a.is-active { color: #fff; background: var(--diy-accent-strong); }
.diy-v2-rotate { transform: rotate(180deg); }

.diy-v2-empty {
  display: grid;
  min-height: 24rem;
  place-items: center;
  align-content: center;
  gap: .7rem;
  padding: 2rem;
  border: 1px dashed var(--evx-border-strong);
  border-radius: 1.5rem;
  color: var(--evx-text-secondary);
  background: var(--evx-surface);
  text-align: center;
}

.diy-v2-empty__icon { display: grid; width: 4.25rem; height: 4.25rem; place-items: center; border-radius: 1.25rem; color: var(--diy-accent-strong); background: var(--diy-accent-soft); }
.diy-v2-empty h2 { margin: .35rem 0 0; color: var(--evx-text-strong); font-size: 1.35rem; }
.diy-v2-empty p { max-width: 30rem; margin: 0; }

/* Article detail */
.diy-v2-progress {
  position: fixed;
  z-index: 1200;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  pointer-events: none;
}

.diy-v2-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--evx-red-500), #35c9c4); box-shadow: 0 0 14px rgba(43, 192, 189, .55); }

.diy-v2-article-hero {
  display: grid;
  min-width: 0;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: clamp(1.15rem, 4vw, 2rem);
  border: 1px solid var(--evx-border);
  border-radius: clamp(1.4rem, 4vw, 2rem);
  background:
    radial-gradient(circle at 10% 0%, var(--diy-accent-soft), transparent 22rem),
    var(--evx-surface);
  box-shadow: var(--evx-shadow-card);
}

.diy-v2-article-hero__copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; gap: .85rem; }
.diy-v2-article-hero__copy .diy-v2-kicker { color: var(--diy-accent-strong); }
.diy-v2-article-hero h1 { max-width: 24ch; margin: 0; color: var(--evx-text-strong); font-size: clamp(2rem, 6vw, 4rem); font-weight: 900; line-height: 1.04; letter-spacing: -.052em; }
.diy-v2-article-hero__copy > p { max-width: 48rem; margin: 0; color: var(--evx-text-secondary); font-size: clamp(.98rem, 2vw, 1.1rem); line-height: 1.7; }

.diy-v2-article-meta { display: flex; min-width: 0; flex-wrap: wrap; gap: .55rem; }
.diy-v2-article-meta span { display: inline-flex; min-height: 2rem; align-items: center; gap: .38rem; padding: .32rem .58rem; border: 1px solid var(--evx-border); border-radius: 999px; color: var(--evx-text-muted); background: var(--evx-surface-2); font-size: .7rem; }

.diy-v2-article-actions { display: flex; min-width: 0; flex-wrap: wrap; gap: .5rem; margin-top: .25rem; }
.diy-v2-article-actions button {
  display: inline-flex;
  min-height: 2.8rem;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .62rem .85rem;
  border: 1px solid var(--evx-border);
  border-radius: .8rem;
  color: var(--evx-text-secondary);
  background: var(--evx-surface-2);
  font-size: .78rem;
  font-weight: 800;
  cursor: pointer;
}
.diy-v2-article-actions button:hover { border-color: color-mix(in srgb, var(--diy-accent) 50%, var(--evx-border)); color: var(--diy-accent-strong); }

.diy-v2-article-cover {
  position: relative;
  display: block;
  min-width: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 1.25rem;
  background: var(--evx-surface-3);
  cursor: zoom-in;
}

.diy-v2-article-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2, .8, .2, 1); }
.diy-v2-article-cover:hover img { transform: scale(1.025); }
.diy-v2-article-cover > span { position: absolute; right: .75rem; bottom: .75rem; display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .7rem; border: 1px solid rgba(255, 255, 255, .15); border-radius: .75rem; color: #fff; background: rgba(4, 11, 15, .68); font-size: .72rem; font-weight: 800; backdrop-filter: blur(10px); }

.diy-v2-article-layout { display: grid; min-width: 0; gap: 1rem; align-items: start; }
.diy-v2-article-card { min-width: 0; padding: clamp(1rem, 4vw, 2.5rem); border: 1px solid var(--evx-border); border-radius: 1.4rem; background: var(--evx-surface); box-shadow: var(--evx-shadow-card); }

.diy-v2-article-content {
  min-width: 0;
  color: var(--evx-text);
  font-size: clamp(.98rem, 1.5vw, 1.08rem);
  line-height: 1.88;
}

.diy-v2-article-content > :first-child { margin-top: 0; }
.diy-v2-article-content > :last-child { margin-bottom: 0; }
.diy-v2-article-content :where(h1, h2, h3, h4, h5, h6, p, li, span, div, strong, em) { color: inherit; }
.diy-v2-article-content h1,
.diy-v2-article-content h2,
.diy-v2-article-content h3,
.diy-v2-article-content h4,
.diy-v2-article-content h5,
.diy-v2-article-content h6 { scroll-margin-top: 6rem; color: var(--evx-text-strong); font-weight: 850; letter-spacing: -.025em; }
.diy-v2-article-content h1 { margin: 2.3rem 0 .85rem; font-size: clamp(1.65rem, 4vw, 2.35rem); }
.diy-v2-article-content h2 { margin: 2.35rem 0 .85rem; padding-top: .25rem; font-size: clamp(1.4rem, 3.5vw, 1.9rem); line-height: 1.25; }
.diy-v2-article-content h2::after { display: block; width: 3.5rem; height: 3px; margin-top: .65rem; border-radius: 999px; background: var(--diy-accent); content: ""; }
.diy-v2-article-content h3 { margin: 1.8rem 0 .65rem; font-size: clamp(1.18rem, 3vw, 1.45rem); }
.diy-v2-article-content h4,
.diy-v2-article-content h5,
.diy-v2-article-content h6 { margin: 1.45rem 0 .55rem; font-size: 1.05rem; }
.diy-v2-article-content p { margin: 0 0 1rem; }
.diy-v2-article-content a { color: var(--diy-accent-strong); text-decoration-thickness: 1px; text-underline-offset: .18em; }
.diy-v2-article-content strong { color: var(--evx-text-strong); font-weight: 800; }
.diy-v2-article-content :where(ul, ol) { margin: .8rem 0 1.2rem; padding-left: 1.35rem; }
.diy-v2-article-content li { margin: .4rem 0; padding-left: .2rem; }
.diy-v2-article-content li::marker { color: var(--diy-accent); font-weight: 900; }
.diy-v2-article-content blockquote { margin: 1.5rem 0; padding: 1rem 1rem 1rem 1.15rem; border: 0; border-left: 4px solid var(--diy-accent); border-radius: 0 1rem 1rem 0; color: var(--evx-text-secondary); background: var(--diy-accent-soft); }
.diy-v2-article-content img { display: block; width: min(100%, 54rem); height: auto; margin: 1.5rem auto; border: 1px solid var(--evx-border); border-radius: 1rem; box-shadow: var(--evx-shadow-card); cursor: zoom-in; }
.diy-v2-article-content figure { max-width: 100%; margin: 1.5rem 0; }
.diy-v2-article-content figcaption { margin-top: .5rem; color: var(--evx-text-muted); font-size: .75rem; text-align: center; }
.diy-v2-article-content table { display: table; width: 100%; table-layout: fixed; margin: 1.25rem 0; border-collapse: collapse; border: 1px solid var(--evx-border); font-size: .82rem; }
.diy-v2-article-content th,
.diy-v2-article-content td { min-width: 0; padding: .7rem; border: 1px solid var(--evx-border); overflow-wrap: anywhere; vertical-align: top; }
.diy-v2-article-content th { color: var(--evx-text-strong); background: var(--evx-surface-2); text-align: left; }
.diy-v2-article-content :where(pre, code) { border-radius: .6rem; color: var(--evx-text); background: var(--evx-surface-3); font-family: var(--evx-font-mono); font-size: .85em; }
.diy-v2-article-content code { padding: .18rem .38rem; }
.diy-v2-article-content pre { max-width: 100%; margin: 1rem 0; padding: 1rem; white-space: pre-wrap; word-break: break-word; }
.diy-v2-article-content pre code { padding: 0; background: transparent; }
.diy-v2-article-content iframe { width: 100%; border: 0; border-radius: 1rem; }

.diy-v2-video { margin-top: 2.25rem; padding-top: 1.5rem; border-top: 1px solid var(--evx-border); }
.diy-v2-section-heading { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; }
.diy-v2-section-heading > span { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: .85rem; color: var(--diy-accent-strong); background: var(--diy-accent-soft); }
.diy-v2-section-heading small { color: var(--diy-accent-strong); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.diy-v2-section-heading h2 { margin: .15rem 0 0; color: var(--evx-text-strong); font-size: 1.2rem; }
.diy-v2-video__frame { aspect-ratio: 16 / 9; overflow: hidden; border-radius: 1rem; background: #000; }
.diy-v2-video__frame iframe { width: 100%; height: 100%; border: 0; }

.diy-v2-article-aside { display: grid; min-width: 0; gap: .85rem; }
.diy-v2-aside-card { min-width: 0; padding: 1rem; border: 1px solid var(--evx-border); border-radius: 1.15rem; background: var(--evx-surface); box-shadow: var(--evx-shadow-card); }
.diy-v2-aside-card--accent { background: linear-gradient(145deg, var(--diy-accent-soft), var(--evx-surface)); }
.diy-v2-aside-card__title { display: flex; align-items: center; gap: .55rem; color: var(--evx-text-strong); }
.diy-v2-aside-card__title svg { color: var(--diy-accent-strong); }
.diy-v2-aside-card p { margin: .75rem 0 0; color: var(--evx-text-secondary); font-size: .8rem; line-height: 1.6; }
.diy-v2-toc { display: grid; gap: .18rem; margin-top: .7rem; }
.diy-v2-toc a { display: block; padding: .5rem .55rem; border-radius: .65rem; color: var(--evx-text-secondary); text-decoration: none; font-size: .76rem; line-height: 1.45; }
.diy-v2-toc a[data-level="3"] { padding-left: 1.25rem; color: var(--evx-text-muted); font-size: .72rem; }
.diy-v2-toc a:hover,
.diy-v2-toc a.is-active { color: var(--diy-accent-strong); background: var(--diy-accent-soft); }
.diy-v2-aside-links { display: grid; gap: .35rem; margin-top: .8rem; }
.diy-v2-aside-links a { display: flex; min-height: 2.65rem; align-items: center; justify-content: space-between; gap: .5rem; padding: .55rem .65rem; border: 1px solid var(--evx-border); border-radius: .75rem; color: var(--evx-text-secondary); background: var(--evx-surface); text-decoration: none; font-size: .76rem; font-weight: 800; }
.diy-v2-aside-links a:hover { border-color: var(--diy-accent); color: var(--diy-accent-strong); }

.diy-v2-article-nav { display: grid; min-width: 0; gap: .75rem; margin-top: 1rem; }
.diy-v2-article-nav > a { display: flex; min-width: 0; flex-direction: column; gap: .45rem; padding: 1rem; border: 1px solid var(--evx-border); border-radius: 1rem; color: var(--evx-text-secondary); background: var(--evx-surface); text-decoration: none; box-shadow: var(--evx-shadow-card); }
.diy-v2-article-nav > a:last-child { text-align: right; }
.diy-v2-article-nav span { display: inline-flex; align-items: center; gap: .35rem; color: var(--diy-accent-strong); font-size: .7rem; font-weight: 850; }
.diy-v2-article-nav > a:last-child span { justify-content: flex-end; }
.diy-v2-article-nav strong { color: var(--evx-text-strong); font-size: .86rem; line-height: 1.45; }
.diy-v2-article-nav > a:hover { border-color: color-mix(in srgb, var(--diy-accent) 50%, var(--evx-border)); }

.diy-v2-related { margin-top: clamp(2rem, 6vw, 4rem); }
.diy-v2-related .diy-v2-toolbar { margin-top: 0; }
.diy-v2-related__grid { display: grid; min-width: 0; grid-template-columns: 1fr; gap: .85rem; }
.diy-v2-related-card { display: grid; min-width: 0; grid-template-columns: 7.25rem minmax(0, 1fr); overflow: hidden; border: 1px solid var(--evx-border); border-radius: 1rem; background: var(--evx-surface); box-shadow: var(--evx-shadow-card); }
.diy-v2-related-card__media { min-width: 0; min-height: 8rem; overflow: hidden; background: var(--evx-surface-3); }
.diy-v2-related-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--evx-transition-slow); }
.diy-v2-related-card:hover img { transform: scale(1.04); }
.diy-v2-related-card > div { display: flex; min-width: 0; flex-direction: column; justify-content: center; gap: .45rem; padding: .8rem; }
.diy-v2-related-card > div > span { color: var(--evx-text-muted); font-size: .65rem; }
.diy-v2-related-card h3 { margin: 0; color: var(--evx-text-strong); font-size: .85rem; line-height: 1.4; }
.diy-v2-related-card h3 a { color: inherit; text-decoration: none; }
.diy-v2-related-card__link { display: inline-flex; align-items: center; gap: .35rem; color: var(--diy-accent-strong); text-decoration: none; font-size: .7rem; font-weight: 850; }

.diy-v2-mobile-actions {
  position: fixed;
  z-index: 650;
  right: .75rem;
  bottom: calc(.75rem + env(safe-area-inset-bottom, 0px));
  left: .75rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem;
  padding: .4rem;
  border: 1px solid var(--evx-border);
  border-radius: 1rem;
  background: var(--evx-glass);
  box-shadow: var(--evx-shadow-float);
  backdrop-filter: blur(18px);
}

.diy-v2-mobile-actions a,
.diy-v2-mobile-actions button { display: flex; min-width: 0; min-height: 3.15rem; align-items: center; justify-content: center; gap: .35rem; padding: .45rem; border: 0; border-radius: .75rem; color: var(--evx-text-secondary); background: transparent; text-decoration: none; font-size: .7rem; font-weight: 800; cursor: pointer; }
.diy-v2-mobile-actions button:last-child { color: #fff; background: var(--diy-accent-strong); }

.diy-v2-lightbox {
  position: fixed;
  z-index: 1600;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 4.5rem 1rem 1rem;
  visibility: hidden;
  opacity: 0;
  background: rgba(1, 5, 8, .93);
  transition: opacity var(--evx-transition), visibility var(--evx-transition);
}

.diy-v2-lightbox.is-open { visibility: visible; opacity: 1; }
.diy-v2-lightbox img { max-width: min(100%, 88rem); max-height: calc(100dvh - 6rem); object-fit: contain; border-radius: 1rem; box-shadow: 0 32px 90px rgba(0, 0, 0, .55); }
.diy-v2-lightbox__close { position: absolute; top: max(1rem, env(safe-area-inset-top, 0px)); right: 1rem; display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgba(255, 255, 255, .15); border-radius: 999px; color: #fff; background: rgba(255, 255, 255, .08); cursor: pointer; }

.diy-v2-toast { position: fixed; z-index: 1700; right: 1rem; bottom: calc(6rem + env(safe-area-inset-bottom, 0px)); max-width: min(22rem, calc(100% - 2rem)); padding: .8rem 1rem; border: 1px solid var(--evx-border); border-radius: .85rem; color: var(--evx-text-strong); background: var(--evx-surface-raised); box-shadow: var(--evx-shadow-float); font-size: .8rem; font-weight: 750; opacity: 0; transform: translateY(.5rem); pointer-events: none; transition: opacity var(--evx-transition), transform var(--evx-transition); }
.diy-v2-toast.is-visible { opacity: 1; transform: translateY(0); }

@media (min-width: 36rem) {
  .diy-v2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diy-v2-article-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 48rem) {
  .diy-v2-shell { width: min(100% - 3rem, 92rem); padding-top: 1.35rem; }
  .diy-v2-hero { grid-template-columns: minmax(0, 1fr) minmax(20rem, .86fr); align-items: stretch; }
  .diy-v2-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
  .diy-v2-related__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .diy-v2-related-card { grid-template-columns: 1fr; }
  .diy-v2-related-card__media { aspect-ratio: 16 / 10; min-height: 0; }
  .diy-v2-article-hero { grid-template-columns: minmax(0, .86fr) minmax(22rem, 1.14fr); align-items: stretch; }
  .diy-v2-article-layout { grid-template-columns: minmax(0, 1fr) 17rem; gap: 1.25rem; }
  .diy-v2-article-aside { position: sticky; top: 5.5rem; }
  .diy-v2-mobile-actions { display: none; }
  .diy-v2-toast { bottom: 1.5rem; }
}

@media (min-width: 72rem) {
  .diy-v2-hero { gap: 2rem; }
  .diy-v2-hero__copy { padding-right: 1rem; }
  .diy-v2-grid { gap: 1.35rem; }
  .diy-v2-card__body { padding: 1.15rem; }
  .diy-v2-article-layout { grid-template-columns: minmax(0, 1fr) 19rem; gap: 1.5rem; }
}

@media (max-width: 35.99rem) {
  .diy-v2-shell { width: min(100% - 1.25rem, 92rem); }
  .diy-v2-hero { padding: 1rem; }
  .diy-v2-search { grid-template-columns: auto minmax(0, 1fr) auto; }
  .diy-v2-search__submit { grid-column: 1 / -1; width: 100%; }
  .diy-v2-hero__stats { gap: .4rem; }
  .diy-v2-hero__stats > div { padding: .7rem .5rem; }
  .diy-v2-featured { min-height: 18rem; }
  .diy-v2-pagination { justify-content: center; }
  .diy-v2-pagination > a { flex: 1; }
  .diy-v2-pagination > div { order: -1; width: 100%; justify-content: center; }
  .diy-v2-article-actions button { flex: 1 1 calc(50% - .5rem); }
  .diy-v2-article-actions button:last-child { flex-basis: 100%; }
  .diy-v2-article-content table { font-size: .72rem; }
  .diy-v2-article-content th,
  .diy-v2-article-content td { padding: .45rem; }
}

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

@media print {
  .diy-v2-progress,
  .diy-v2-breadcrumb,
  .diy-v2-article-actions,
  .diy-v2-article-aside,
  .diy-v2-mobile-actions,
  .diy-v2-article-nav,
  .diy-v2-related,
  .diy-v2-lightbox,
  .diy-v2-toast,
  body > header,
  body > footer { display: none !important; }
  .diy-v2-page { color: #111; background: #fff; }
  .diy-v2-shell { width: 100%; padding: 0; }
  .diy-v2-article-hero,
  .diy-v2-article-card { border: 0; box-shadow: none; }
  .diy-v2-article-hero { display: block; padding: 0; }
  .diy-v2-article-cover { margin-top: 1rem; }
  .diy-v2-article-layout { display: block; }
  .diy-v2-article-content { color: #111; font-size: 11pt; }
  .diy-v2-article-content :where(h1, h2, h3, h4, h5, h6, p, li, span, div, strong) { color: #111; }
}
