/* Clean clone overrides — _site11_coffee_tech */
html, body {
  background: #0d0e13;
  margin: 0;
}

/* slide3d.svg — half of original Coffee-Tech logo footprint */
:root {
  --logo-width-desktop: 5.9vw;
  --logo-width-mobile: 19vw;
}

.footer-logo {
  width: 4.948vw;
  max-width: none;
  filter: brightness(0) invert(1);
}

/* Футер везде тёмный и непрозрачный (не просвечивает 3D/фон) */
.footer {
  background: var(--dark-blue, #0d0e13) !important;
  opacity: 1 !important;
}

.footer section.dark-theme {
  background: var(--dark-blue, #0d0e13) !important;
}

/*
  Минимальный футер (home/contact): только ВЫСОТА компактнее (padding-y: 20px).
  Горизонтальные паддинги — как в theme (`--padding-sides-*`), не трогаем.
  Full-футер (/technology) — без этого класса, theme padding как был.
*/
.footer.cft-footer-minimal {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  padding-left: var(--padding-sides-desktop, 4.63vw) !important;
  padding-right: var(--padding-sides-desktop, 4.63vw) !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}

.footer.cft-footer-minimal::after {
  display: none !important;
  height: 0 !important;
}

.footer.cft-footer-minimal .grid {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  grid-row-gap: 0 !important;
  row-gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

.footer.cft-footer-minimal .column {
  grid-column: unset !important;
  grid-row: unset !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer.cft-footer-minimal .footer-logo {
  width: clamp(2.75rem, 3.2vw, 3.5rem) !important;
  display: block;
}

.footer.cft-footer-minimal .footer-copyright {
  position: static;
  margin: 0 !important;
  padding: 0 !important;
  grid-column: unset !important;
  width: auto;
  font-size: clamp(12px, 0.95vw, 14px);
}

.footer.cft-footer-minimal .footer-copyright a {
  display: none;
}

@media screen and (max-width: 767px) {
  .footer.cft-footer-minimal {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: var(--padding-sides-mobile, 6.667vw) !important;
    padding-right: var(--padding-sides-mobile, 6.667vw) !important;
  }

  .footer.cft-footer-minimal .grid {
    flex-direction: row;
    align-items: center;
  }

  .footer.cft-footer-minimal .footer-logo {
    width: 4.5rem !important;
  }
}

/* slide3d.svg — match nav: white on dark header, black on light header */
.header:not(.above-light-theme) .logo img,
.header:not(.above-light-theme) .logo .logo-bright,
.header:not(.above-light-theme) .logo .logo-dark {
  filter: brightness(0) invert(1);
}

.header.above-light-theme .logo img,
.header.above-light-theme .logo .logo-bright,
.header.above-light-theme .logo .logo-dark {
  filter: none;
}

.logo img,
.logo .logo-bright,
.logo .logo-dark {
  transition:
    opacity var(--header-theme-transition-duration) var(--simple-easing),
    filter var(--header-theme-transition-duration) var(--simple-easing);
}

/* Theme `.logo * { width: auto }` beats `.logo img` — force slide3d footprint on prod + local */
.header a.logo img,
.header a.logo .logo-bright,
.header a.logo .logo-dark {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* pre-split-hide: text hidden until split-text-scroll.js (see coffee-tech-custom.css) */

/* LCP hero title stays visible until GSAP hides it for split setup */
.cft-split-pending,
html.pre-split-hide .hero-content > h1.cft-split-pending {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* theme rule :has(.line){width:100%} — keep hero/page titles at natural width */
.hero-content > h1:has(.line),
.center-block > h1:has(.line),
.about-hero h1:has(.line),
.catalog-header h1:has(.line) {
  width: auto !important;
  max-width: 100%;
}

span.line,
span.char {
  all: revert-layer;
  box-sizing: border-box;
  line-height: inherit;
}

.hero-paragaph {
  opacity: 1 !important;
  visibility: visible !important;
}

#cursor {
  display: none !important;
}

.hero-model-3d {
  display: none !important;
}

.hero-lcp-image {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.header:not(.scroll-deep) {
  padding-top: 2vw;
  padding-bottom: 2.4vw;
}

@media (max-width: 767px) {
  .header:not(.scroll-deep) {
    padding-top: 2.5vw !important;
    padding-bottom: 2.5vw !important;
  }
}

/* Flat markup: <a class="logo"> — theme sizes `.logo a`, not `a.logo`.
   Dual-logo imgs are absolute, so the anchor collapses without explicit width. */
a.logo.w-inline-block,
a.logo {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: var(--logo-width-desktop);
  min-width: var(--logo-width-desktop);
  max-width: var(--logo-width-desktop);
  height: auto;
  min-height: 1px;
}

@media (max-width: 768px) {
  a.logo.w-inline-block,
  a.logo {
    width: var(--logo-width-mobile);
    min-width: var(--logo-width-mobile);
    max-width: var(--logo-width-mobile);
  }

  .header a.logo img,
  .header a.logo .logo-bright,
  .header a.logo .logo-dark {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .footer-logo {
    width: 13.335vw;
    max-width: none;
  }

  .header .grid {
    gap: 2.4vw;
  }

  .header .grid > .mobile-products-button.filled {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 1.87vw;
    padding: 3vw 4vw;
    font-size: 4vw;
    line-height: 1;
    font-weight: 600;
    flex: 0 1 auto;
    max-width: calc(100vw - var(--logo-width-mobile) - 16vw);
    overflow: hidden;
    white-space: nowrap;
  }

  .header .grid > .mobile-products-button .catalog-icon {
    width: 1.87vw;
    height: 1.87vw;
    flex-shrink: 0;
  }

  .header .grid > .mobile-products-button .catalog-icon::before {
    width: 0.67vw;
    height: 0.67vw;
    box-shadow:
      1.07vw 0 0 0 var(--creme-light),
      0 1.07vw 0 0 var(--creme-light),
      1.07vw 1.07vw 0 0 var(--creme-light);
  }

  .header.above-light-theme .mobile-products-button .catalog-icon::before {
    box-shadow:
      1.07vw 0 0 0 var(--dark-blue),
      0 1.07vw 0 0 var(--dark-blue),
      1.07vw 1.07vw 0 0 var(--dark-blue);
  }
}

.testimonial-item .w-dyn-items {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.testimonial-card .testimonial-text,
.testimonial-card .testimonial-text h4,
.testimonial-card .testimonial-author,
.testimonial-card .testimonial-number span {
  overflow: visible;
}

.char,
.line,
.testimonial-card .char,
.testimonial-card .line {
  display: inline-block;
  overflow: visible;
  will-change: transform, clip-path;
}

:is(h1, h2, h3, h4, h5, h6, p, a, .text-link) .char,
:is(h1, h2, h3, h4, h5, h6, p, a, .text-link) .line {
  overflow: visible;
}

.marquee-wrap {
  overflow: hidden;
}

.marquee-scroll {
  will-change: transform;
}

.four-five .underline-link {
  cursor: pointer;
}

.hot-dot {
  cursor: pointer;
}

/* Overlay: no image/container flash before panel clip-path slide-in */
.tech-overlay.active:not(.content-visible) .tech-overlay-content,
.features-overlay.active:not(.content-visible) .features-overlay-content {
  opacity: 0 !important;
  pointer-events: none;
}

.tech-overlay-image,
.features-overlay-image {
  background: transparent !important;
}

.tech-overlay.active.content-visible .tech-overlay-image,
.features-overlay.active.content-visible .features-overlay-image {
  background: var(--dark-blue) !important;
}

.features-overlay.active.content-visible .features-overlay-image {
  background: transparent !important;
}

.tech-overlay-image img,
.features-overlay-image img {
  transition: opacity 0.35s ease;
}

.tech-overlay:not(.active) .tech-overlay-image,
.tech-overlay:not(.active) .features-overlay-image,
.features-overlay:not(.active) .tech-overlay-image,
.features-overlay:not(.active) .features-overlay-image,
.tech-overlay:not(.content-visible) .tech-overlay-image,
.tech-overlay:not(.content-visible) .features-overlay-image,
.features-overlay:not(.content-visible) .tech-overlay-image,
.features-overlay:not(.content-visible) .features-overlay-image {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* /technology — custom RU hero title, ½ theme h1 (7.876vw → 3.938vw) */
.container.technology-page .center-block > h1.cft-tech-hero-h1,
.container.technology-page .center-block > h1.cft-tech-hero-h1 .line,
.container.technology-page .center-block > h1.cft-tech-hero-h1 .char {
  font-size: 3.938vw;
}

@media (max-width: 768px) {
  .container.technology-page .center-block > h1.cft-tech-hero-h1,
  .container.technology-page .center-block > h1.cft-tech-hero-h1 .line,
  .container.technology-page .center-block > h1.cft-tech-hero-h1 .char {
    font-size: 7.5vw;
  }
}
