html,body.ounuo-site{max-width:100%;overflow-x:hidden}
body.ounuo-site{
  font-family:Inter,system-ui,sans-serif!important;
  background:#fff!important;
  color:#111!important;
  margin:0!important;
  padding:0!important;
}
body.ounuo-site .site,
body.ounuo-site #wrapper,
body.ounuo-site #inner-wrap,
body.ounuo-site .site-container,
body.ounuo-site .content-container,
body.ounuo-site .content-wrap,
body.ounuo-site .entry-content-wrap,
body.ounuo-site .entry-content,
body.ounuo-site .wp-site-blocks,
body.ounuo-site .site-main,
body.ounuo-site main,
body.ounuo-site .content-area,
body.ounuo-site article,
body.ounuo-site .entry,
body.ounuo-site #primary{
  max-width:100%!important;
  width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.ounuo-site .entry-content{padding:0!important;margin:0!important}
body.ounuo-site #masthead,
body.ounuo-site .site-header,
body.ounuo-site header.site-header,
body.ounuo-site .kadence-header-row,
body.ounuo-site #colophon,
body.ounuo-site footer#colophon,
body.ounuo-site .site-footer:not(.ounuo-footer),
body.ounuo-site .entry-hero,
body.ounuo-site .entry-header,
body.ounuo-site h1.entry-title,
body.ounuo-site .wp-block-post-title,
body.ounuo-site .page-title-wrap,
body.ounuo-site #secondary,
body.ounuo-site .primary-sidebar{display:none!important}

/* Header */
.ounuo-header{position:fixed;inset:0 0 auto 0;z-index:100;transition:all .3s ease}
.ounuo-header-inner{
  background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(229,229,229,.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.ounuo-header--scrolled .ounuo-header-inner{
  box-shadow:0 10px 30px rgba(17,17,17,.06);
  background:rgba(255,255,255,.97);
}
body.admin-bar .ounuo-header{top:32px}
@media(max-width:782px){body.admin-bar .ounuo-header{top:46px}}

/* Mega menu premium — stable hover (no premature close) */
.ounuo-nav-item{position:relative}
/* invisible bridge under trigger so mouse can travel into panel */
.ounuo-nav-item > a{position:relative;z-index:2}
.ounuo-mega{
  position:absolute;left:50%;top:100%;
  transform:translateX(-50%) translateY(8px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .18s ease 80ms, transform .18s ease 80ms, visibility .18s linear 80ms;
  min-width:320px;z-index:120;
  /* padding-top creates hover bridge so dropdown does not collapse */
  padding-top:14px;
}
.ounuo-nav-item:hover .ounuo-mega,
.ounuo-nav-item:focus-within .ounuo-mega,
.ounuo-mega:hover{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
  transition-delay:0ms;
}
.ounuo-mega-panel{
  position:relative;
  border:1px solid #f0f0f0;
  background:#fff;
  border-radius:18px;
  box-shadow:0 24px 60px rgba(17,17,17,.12);
  padding:8px;
  overflow:visible;
}
.ounuo-mega-panel:before{
  content:"";position:absolute;left:50%;top:-6px;width:12px;height:12px;background:#fff;border-left:1px solid #f0f0f0;border-top:1px solid #f0f0f0;
  transform:translateX(-50%) rotate(45deg);z-index:1;
}
.ounuo-mega a.ounuo-mega-link{
  display:block;border-radius:12px;padding:12px 14px;text-decoration:none;
  transition:background .2s ease, transform .2s ease;
  position:relative;z-index:2;
}
.ounuo-mega a.ounuo-mega-link:hover{
  background:#FFF1F2;transform:translateX(3px);
}
.ounuo-mega a.ounuo-mega-link .t{font-size:13px;font-weight:800;color:#111;line-height:1.3}
.ounuo-mega a.ounuo-mega-link .d{font-size:12px;color:#71717A;margin-top:3px}

/* Hero */
.ounuo-hero-slide{opacity:0;pointer-events:none;transition:opacity .85s ease}
.ounuo-hero-slide.is-active{opacity:1;pointer-events:auto}
.ounuo-ken{animation:ounuoKen 14s ease-in-out infinite alternate;will-change:transform}
@keyframes ounuoKen{from{transform:scale(1.1)}to{transform:scale(1)}}
.ounuo-hero-copy > *{opacity:0;transform:translateY(28px)}
.ounuo-hero-slide.is-active .ounuo-hero-copy > *{animation:ounuoUp .75s cubic-bezier(.22,1,.36,1) forwards}
.ounuo-hero-slide.is-active .ounuo-hero-copy > *:nth-child(1){animation-delay:.05s}
.ounuo-hero-slide.is-active .ounuo-hero-copy > *:nth-child(2){animation-delay:.15s}
.ounuo-hero-slide.is-active .ounuo-hero-copy > *:nth-child(3){animation-delay:.25s}
.ounuo-hero-slide.is-active .ounuo-hero-copy > *:nth-child(4){animation-delay:.35s}
@keyframes ounuoUp{to{opacity:1;transform:none}}
.ounuo-progress{transform-origin:left center}

/* Scroll text/card reveal - stronger */
.ounuo-reveal{
  opacity:0;
  transform:translateY(40px);
  transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform;
}
.ounuo-reveal.is-in{opacity:1;transform:none}
.ounuo-reveal-delay-1{transition-delay:.08s}
.ounuo-reveal-delay-2{transition-delay:.16s}
.ounuo-reveal-delay-3{transition-delay:.24s}
.ounuo-reveal-delay-4{transition-delay:.32s}
.ounuo-reveal-left{transform:translateX(-36px)}
.ounuo-reveal-left.is-in{transform:none}
.ounuo-reveal-right{transform:translateX(36px)}
.ounuo-reveal-right.is-in{transform:none}
.ounuo-reveal-scale{transform:translateY(24px) scale(.96)}
.ounuo-reveal-scale.is-in{transform:none}

/* Section rhythm */
.ounuo-section{padding:88px 0}
@media(max-width:768px){.ounuo-section{padding:64px 0}}
.ounuo-container{width:100%;max-width:1440px;margin:0 auto;padding-left:20px;padding-right:20px}
@media(min-width:1024px){.ounuo-container{padding-left:40px;padding-right:40px}}

/* Footer always visible */
.ounuo-footer{display:block!important;position:relative;z-index:5;width:100%}

@media(max-width:768px){body.ounuo-site{padding-bottom:76px}}
@media (prefers-reduced-motion:reduce){
  .ounuo-ken,.ounuo-hero-slide.is-active .ounuo-hero-copy > *{animation:none!important}
  .ounuo-reveal,.ounuo-hero-copy > *{opacity:1!important;transform:none!important;transition:none!important}
}

/* ===== Hotfix v3.0.1 ===== */
/* Keep dropdown open while moving into it */
.ounuo-nav-item{position:relative}
.ounuo-mega{
  top:100% !important;
  padding-top:16px !important;
  margin-top:0 !important;
  transition:opacity .15s ease 0ms, transform .15s ease 0ms, visibility 0s linear 120ms !important;
}
.ounuo-nav-item:hover .ounuo-mega,
.ounuo-nav-item:focus-within .ounuo-mega{
  transition-delay:0ms !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

/* Get a Quote buttons: force red bg + white text (fight theme/Tailwind conflicts) */
a.ounuo-btn-quote,
.ounuo-header a[href*="/contact/"],
.ounuo-home-root a[href*="/contact/"].ounuo-btn-quote,
a.inline-flex[href*="/contact/"].bg-ounuo,
.ounuo-header .bg-ounuo,
.ounuo-home-root a.bg-ounuo{
  background-color:#D7000F !important;
  background-image:none !important;
  color:#ffffff !important;
  border-color:transparent !important;
}
a.ounuo-btn-quote:hover,
.ounuo-header a[href*="/contact/"]:hover,
.ounuo-home-root a.bg-ounuo:hover{
  background-color:#B8000D !important;
  color:#ffffff !important;
}
/* Do not style plain text contact links in footer the same if needed - footer uses explicit classes */
.ounuo-footer a[href*="/contact/"]{
  background-color:transparent !important;
  color:inherit !important;
}
.ounuo-footer a.bg-ounuo,
.ounuo-footer a[href*="/contact/"].inline-flex.rounded-full.bg-ounuo,
.ounuo-footer .bg-ounuo{
  background-color:#D7000F !important;
  color:#ffffff !important;
}
/* Hero primary CTA specifically */
.ounuo-hero-copy a[href*="/contact/"]{
  background-color:#D7000F !important;
  color:#fff !important;
}
.ounuo-hero-copy a[href*="/contact/"]:hover{
  background-color:#B8000D !important;
  color:#fff !important;
}

/* HOVER_BRIDGE_V3 */
.ounuo-nav-item{position:relative}
.ounuo-nav-item > a{position:relative;z-index:3}
.ounuo-nav-item > a:after{
  content:"";
  position:absolute;
  left:0; right:0; top:100%;
  height:20px;
}
.ounuo-mega{
  top:100% !important;
  padding-top:20px !important;
  z-index:50 !important;
}
.ounuo-nav-item:hover .ounuo-mega,
.ounuo-nav-item:focus-within .ounuo-mega{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

/* ===== Forms & inner pages v3.1 ===== */
.ounuo-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.ounuo-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#3f3f46}
.ounuo-field--full{grid-column:1/-1}
.ounuo-input,.ounuo-form-grid input[type=text],.ounuo-form-grid input[type=email],.ounuo-form-grid input[type=tel],.ounuo-form-grid select,.ounuo-form-grid textarea,
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 select,.wpcf7 textarea{
  width:100%!important;border:1px solid #e5e5e5!important;border-radius:12px!important;
  padding:12px 14px!important;font-size:14px!important;font-weight:500!important;color:#111!important;
  background:#fff!important;box-shadow:none!important;margin:0!important;
}
.wpcf7 input[type=text]:focus,.wpcf7 input[type=email]:focus,.wpcf7 input[type=tel]:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{
  border-color:#D7000F!important;outline:none!important;box-shadow:0 0 0 3px rgba(215,0,15,.12)!important;
}
.wpcf7 input[type=submit],.wpcf7 .ounuo-btn-quote,.wpcf7 input.ounuo-btn-quote{
  background:#D7000F!important;color:#fff!important;border:0!important;border-radius:999px!important;
  padding:14px 28px!important;font-weight:800!important;cursor:pointer!important;width:auto!important;
}
.wpcf7 input[type=submit]:hover{background:#B8000D!important}
.wpcf7-response-output{border-radius:12px!important;margin:12px 0 0!important}
@media(max-width:720px){.ounuo-form-grid{grid-template-columns:1fr}}

/* Category / machine templates */
.ounuo-page{width:100%;background:#fff}
.ounuo-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.ounuo-chip{display:inline-flex;align-items:center;border-radius:999px;background:#FFF1F2;color:#9f1239;font-size:11px;font-weight:800;padding:6px 10px}
.ounuo-prose{color:#52525b;line-height:1.7;font-size:15px}
.ounuo-prose h2,.ounuo-prose h3{color:#111;font-weight:900;margin:1.4em 0 .5em}
.ounuo-spec-table{width:100%;border-collapse:collapse;font-size:14px}
.ounuo-spec-table th,.ounuo-spec-table td{border:1px solid #eee;padding:12px 14px;text-align:left}
.ounuo-spec-table th{background:#fafafa;width:36%;font-weight:800;color:#111}
.ounuo-spec-table td{color:#3f3f46;font-weight:500}

/* Language switcher */
.ounuo-lang-switch{position:relative;z-index:130}
.ounuo-lang-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid #e4e4e7;background:#fff;border-radius:9999px;padding:8px 12px;font-size:11px;font-weight:800;color:#3f3f46;cursor:pointer;letter-spacing:.04em}
.ounuo-lang-btn:hover{border-color:#D7000F;color:#D7000F}
.ounuo-lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:160px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #e4e4e7;border-radius:14px;box-shadow:0 16px 40px rgba(17,17,17,.12)}
.ounuo-lang-menu[hidden]{display:none!important}
.ounuo-lang-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;color:#27272a;text-decoration:none}
.ounuo-lang-menu a:hover,.ounuo-lang-menu a.is-active{background:#FFF1F2;color:#D7000F}
.ounuo-lang-code-sm{font-size:10px;font-weight:800;color:#a1a1aa;letter-spacing:.06em}
body.ounuo-rtl .ounuo-lang-menu{right:auto;left:0}

/* RTL layout tweaks */
body.ounuo-rtl{direction:rtl}
body.ounuo-rtl .ounuo-container{text-align:right}
body.ounuo-rtl .ounuo-mega{left:auto;right:0}
body.ounuo-rtl .text-left{text-align:right}
body.ounuo-rtl .object-left{object-position:right}

/* SEO: hide theme page title when OUNUO chrome provides the real H1 */
body.ounuo-site.home .entry-header,
body.ounuo-site.home .entry-title,
body.ounuo-site.page-template-default .entry-header .entry-title,
body.ounuo-site.page .content-area .entry-title,
body.ounuo-site.single-machine .entry-header,
body.ounuo-site.tax-machine_category .page-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
