
/* NeonBulk — premium, fast, mobile-first
   Design system via CSS variables. Dark mode uses body.is-dark.
*/

:root{
  --nb-bg: #ffffff;
  --nb-surface: #ffffff;
  --nb-text: #0b1220;
  --nb-muted: rgba(11, 18, 32, .72);
  --nb-border: rgba(11, 18, 32, .12);

  --nb-accent: #25D366;  /* Customizer override */
  --nb-accent2: #7C3AED; /* Customizer override */
  --nb-pink: #FF3CAC;
  --nb-blue: #00D4FF;
  --nb-orange: #FF8A00;

  --nb-radius: 18px;
  --nb-shadow: 0 12px 30px rgba(0,0,0,.08);
  --nb-shadow2: 0 10px 26px rgba(0,0,0,.10);
  --nb-font: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Noto Sans", Arial, "Apple Color Emoji","Segoe UI Emoji";
}

body.is-dark{
  --nb-bg: #070A12;
  --nb-surface: #0B1020;
  --nb-text: #EAF1FF;
  --nb-muted: rgba(234, 241, 255, .70);
  --nb-border: rgba(234, 241, 255, .12);
  --nb-shadow: 0 12px 30px rgba(0,0,0,.45);
  --nb-shadow2: 0 10px 26px rgba(0,0,0,.55);
}

*{ box-sizing: border-box; }
html, body{ height: 100%; }
body{
  margin:0;
  font-family: var(--nb-font);
  background: var(--nb-bg);
  color: var(--nb-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a{ color: inherit; text-decoration: none; }
img{ max-width: 100%; height: auto; }
.nb-skip{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.nb-skip:focus{ left:16px; top:16px; width:auto; height:auto; padding:10px 12px; background:var(--nb-surface); border-radius:12px; box-shadow:var(--nb-shadow); z-index:9999; }

/* Layout */
.nb-container{ width:min(1200px, calc(100% - 32px)); margin-inline:auto; }
.nb-main{ padding: 22px 0 56px; }
.nb-grid{ display:grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 980px){
  .nb-grid{ grid-template-columns: 1fr 340px; align-items:start; }
}
.nb-content{ display:grid; gap: 14px; }
.nb-sidebar{ position:sticky; top: 104px; display:grid; gap: 14px; }
@media (max-width: 979px){
  .nb-sidebar{ position: static; }
}

/* Cards */
.nb-card{
  background: var(--nb-surface);
  border: 1px solid var(--nb-border);
  border-radius: var(--nb-radius);
  box-shadow: var(--nb-shadow);
  position: relative;
  overflow: hidden;
}
.nb-card::before{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(1200px 420px at 15% 0%, color-mix(in oklab, var(--nb-accent) 42%, transparent), transparent 55%),
              radial-gradient(900px 380px at 90% 10%, color-mix(in oklab, var(--nb-accent2) 40%, transparent), transparent 60%);
  opacity: .55;
  pointer-events:none;
}
body.is-dark .nb-card::before{ opacity: .35; }
.nb-card--pad{ padding: 16px; }
@media (min-width: 700px){
  .nb-card--pad{ padding: 20px; }
}

/* Typography */
.nb-h1{ font-size: clamp(1.3rem, 1.2rem + 1.2vw, 2.2rem); margin: 0 0 8px; letter-spacing:-.02em; }
.nb-h2{ font-size: clamp(1.1rem, 1.0rem + .8vw, 1.6rem); margin: 0 0 10px; letter-spacing:-.01em; }
.nb-h3{ font-size: 1.05rem; margin: 0 0 10px; }
.nb-muted{ color: var(--nb-muted); }
.nb-accent{ color: var(--nb-accent); }

/* Prose */
.nb-prose{ line-height: 1.65; color: var(--nb-text); }
.nb-prose p{ margin: 0 0 12px; }
.nb-prose a{ color: var(--nb-accent2); text-decoration: underline; text-underline-offset: 3px; }
.nb-prose code{ background: color-mix(in oklab, var(--nb-border) 40%, transparent); padding: 2px 6px; border-radius: 10px; }
.nb-prose iframe{ max-width: 100%; border-radius: 14px; }

/* Header */
.nb-header{
  background: color-mix(in oklab, var(--nb-bg) 92%, transparent);
  border-bottom: 1px solid var(--nb-border);
  backdrop-filter: blur(10px);
  position: relative;
  z-index: 999;
}
.nb-header--sticky{ position: sticky; top: 0; }

.nb-header__inner{
  width:min(1200px, calc(100% - 24px));
  margin-inline:auto;
  display:flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
}
.nb-brand{ display:flex; align-items:center; gap: 10px; }
.nb-logo img{ max-height: 46px; width:auto; }
.nb-logo__text{ font-weight: 800; letter-spacing:-.02em; }
.nb-actions{ display:flex; align-items:center; gap: 10px; }
.nb-account{ display:none; padding: 10px 12px; border-radius: 14px; border:1px solid var(--nb-border); }
@media (min-width: 980px){
  .nb-account{ display:inline-flex; }
}

/* Burger */
.nb-burger{
  width: 44px; height: 44px;
  border-radius: 14px;
  border: 1px solid var(--nb-border);
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow2);
  display:inline-grid;
  place-content:center;
  gap: 5px;
}
.nb-burger span{
  display:block; width: 18px; height: 2px;
  background: var(--nb-text);
  border-radius: 99px;
  opacity: .9;
}

/* Search */
.nb-search{ display:none; }
@media (min-width: 720px){
  .nb-search{ display:block; }
}
.nb-searchform{ display:flex; align-items:center; gap: 8px; }
.nb-searchform__input{
  width: min(520px, 100%);
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--nb-border);
  background: var(--nb-surface);
  outline: none;
  box-shadow: var(--nb-shadow2);
}
.nb-searchform__input:focus{
  border-color: color-mix(in oklab, var(--nb-accent) 55%, var(--nb-border));
  box-shadow: 0 0 0 6px color-mix(in oklab, var(--nb-accent) 18%, transparent), var(--nb-shadow2);
}
.nb-searchform__btn{
  width: 44px; height: 44px;
  border-radius: 16px;
  border: 1px solid var(--nb-border);
  background: linear-gradient(135deg, color-mix(in oklab, var(--nb-accent) 85%, white), var(--nb-accent2));
  color: white;
  box-shadow: 0 0 26px color-mix(in oklab, var(--nb-accent) 30%, transparent);
  cursor: pointer;
}

/* Desktop nav */
.nb-nav--desktop{ display:none; }
@media (min-width: 980px){
  .nb-nav--desktop{ display:block; }
}
.nb-menu{ list-style:none; padding:0; margin:0; display:flex; gap: 12px; align-items:center; }
.nb-menu a{
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  color: var(--nb-muted);
}
.nb-menu a:hover{
  color: var(--nb-text);
  border-color: var(--nb-border);
  box-shadow: 0 0 24px color-mix(in oklab, var(--nb-accent2) 16%, transparent);
}

/* Top categories */
.nb-topcats{ border-top: 1px solid var(--nb-border); }
.nb-topcats__inner{ width:min(1200px, calc(100% - 24px)); margin-inline:auto; padding: 8px 0; }
.nb-topcats__menu{ list-style:none; margin:0; padding:0; display:flex; gap: 10px; flex-wrap:wrap; }
.nb-topcats__menu a{
  display:inline-flex;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--nb-border);
  color: var(--nb-muted);
  background: color-mix(in oklab, var(--nb-surface) 90%, transparent);
}
.nb-topcats__menu a:hover{
  color: var(--nb-text);
  border-color: color-mix(in oklab, var(--nb-accent) 55%, var(--nb-border));
  box-shadow: 0 0 26px color-mix(in oklab, var(--nb-accent) 20%, transparent);
}
.nb-hide-mobile{ display:none; }
@media (min-width: 980px){ .nb-hide-mobile{ display:block; } }

/* Mobile nav */
.nb-nav--mobile{ border-top: 1px solid var(--nb-border); }
.nb-nav__mobile-inner{
  width:min(1200px, calc(100% - 24px));
  margin-inline:auto;
  padding: 12px 0 16px;
  display:grid;
  gap: 10px;
}
.nb-menu--mobile{ flex-direction: column; align-items: stretch; gap: 6px; }
.nb-menu--mobile a{ border-color: var(--nb-border); background: var(--nb-surface); color: var(--nb-text); box-shadow: var(--nb-shadow2); }
.nb-topcats__menu--mobile{ gap: 8px; }

/* Mode + cart */
.nb-mode{
  width: 44px; height: 44px;
  border-radius: 16px;
  border: 1px solid var(--nb-border);
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow2);
  cursor: pointer;
  display:grid;
  place-content:center;
}
.nb-mode__sun{ display:none; }
body.is-dark .nb-mode__sun{ display:inline; }
body.is-dark .nb-mode__moon{ display:none; }

.nb-cart{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid var(--nb-border);
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow2);
}
.nb-cart__count{
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  display:inline-grid;
  place-content:center;
  font-size: 12px;
  color: white;
  background: linear-gradient(135deg, var(--nb-pink), var(--nb-accent2));
  box-shadow: 0 0 22px color-mix(in oklab, var(--nb-pink) 26%, transparent);
}

/* Buttons */
.nb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--nb-border);
  background: var(--nb-surface);
  color: var(--nb-text);
  cursor: pointer;
  font-weight: 700;
  box-shadow: var(--nb-shadow2);
}
.nb-btn--primary{
  border-color: transparent;
  background: linear-gradient(135deg, color-mix(in oklab, var(--nb-accent) 82%, white), var(--nb-accent2));
  color: white;
  box-shadow: 0 0 30px color-mix(in oklab, var(--nb-accent) 28%, transparent);
}
.nb-btn--ghost{
  background: color-mix(in oklab, var(--nb-surface) 92%, transparent);
}
.nb-btn--wa{
  border-color: transparent;
  background: linear-gradient(135deg, #1EBE5D, #25D366);
  color:white;
  box-shadow: 0 0 30px rgba(37, 211, 102, .35);
}
.nb-wa-inline{ margin-top: 10px; width: 100%; }

/* Hero */
.nb-hero{
  position: relative;
  padding: 18px 0 8px;
}
.nb-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 600px at 20% -10%, color-mix(in oklab, var(--nb-accent2) 30%, transparent), transparent 60%),
    radial-gradient(1000px 560px at 90% 0%, color-mix(in oklab, var(--nb-accent) 28%, transparent), transparent 65%),
    linear-gradient(180deg, color-mix(in oklab, var(--nb-bg) 88%, transparent), transparent);
  pointer-events:none;
}
.nb-hero__inner{ display:grid; gap: 18px; align-items:center; }
@media (min-width: 980px){
  .nb-hero__inner{ grid-template-columns: 1.1fr .9fr; }
}
.nb-hero__title{ font-size: clamp(1.7rem, 1.4rem + 1.8vw, 3rem); margin:0 0 10px; letter-spacing:-.03em; }
.nb-hero__subtitle{ margin: 0 0 14px; color: var(--nb-muted); font-size: 1.05rem; }
.nb-hero__ctas{ display:flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.nb-hero__badges{ display:flex; gap: 8px; flex-wrap: wrap; }
.nb-badge{
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--nb-border);
  color: var(--nb-muted);
  background: color-mix(in oklab, var(--nb-surface) 92%, transparent);
}
.nb-hero__art{ position: relative; min-height: 220px; }
.nb-orb{
  position:absolute;
  border-radius: 999px;
  filter: blur(0px);
  opacity:.9;
  animation: nbFloat 10s ease-in-out infinite;
}
.nb-orb--1{ width: 110px; height: 110px; left: 10%; top: 10%; background: radial-gradient(circle at 30% 30%, var(--nb-blue), transparent 60%); }
.nb-orb--2{ width: 160px; height: 160px; left: 60%; top: 0%; background: radial-gradient(circle at 30% 30%, var(--nb-pink), transparent 60%); animation-duration: 12s; }
.nb-orb--3{ width: 140px; height: 140px; left: 45%; top: 55%; background: radial-gradient(circle at 30% 30%, var(--nb-orange), transparent 60%); animation-duration: 11s; }
@keyframes nbFloat{
  0%,100%{ transform: translate3d(0,0,0) }
  50%{ transform: translate3d(0,-12px,0) }
}
.nb-hero__card{ margin-left:auto; width: min(360px, 100%); }
.nb-hero__cardtop{ display:flex; gap:6px; padding: 12px; border-bottom: 1px solid var(--nb-border); }
.nb-dot{ width:10px; height:10px; border-radius:999px; background: var(--nb-border); }
.nb-hero__cardbody{ padding: 16px; display:grid; gap: 10px; }
.nb-kpi{ display:flex; justify-content:space-between; align-items:baseline; }
.nb-kpi__label{ color: var(--nb-muted); font-weight: 700; }
.nb-kpi__value{ font-weight: 900; letter-spacing:-.02em; font-size: 1.15rem; }

/* Sections */
.nb-section{ padding: 10px 0 0; }
.nb-section__title{ margin: 0 0 10px; }

/* Category grid */
.nb-catgrid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (min-width: 700px){
  .nb-catgrid{ grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1100px){
  .nb-catgrid{ grid-template-columns: repeat(7, 1fr); }
}
.nb-cat{
  padding: 14px;
  min-height: 92px;
  display:grid;
  gap: 6px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.nb-cat:hover{
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--nb-accent2) 45%, var(--nb-border));
  box-shadow: 0 0 34px color-mix(in oklab, var(--nb-accent2) 16%, transparent), var(--nb-shadow);
}
.nb-cat__title{ font-weight: 900; letter-spacing:-.01em; }
.nb-cat__meta{ color: var(--nb-muted); font-size: .92rem; }

/* Footer */
.nb-footer{
  border-top: 1px solid var(--nb-border);
  padding: 26px 0 40px;
  background: color-mix(in oklab, var(--nb-bg) 92%, transparent);
}
.nb-footer__inner{ width:min(1200px, calc(100% - 32px)); margin-inline:auto; }
.nb-footer__cols{ display:grid; gap: 16px; }
@media (min-width: 980px){
  .nb-footer__cols{ grid-template-columns: 1.3fr 1fr 1fr; align-items:start; }
}
.nb-footer__menu{ list-style:none; margin:0; padding:0; display:grid; gap: 8px; }
.nb-footer__menu a{ color: var(--nb-muted); }
.nb-footer__menu a:hover{ color: var(--nb-text); }
.nb-footer__bottom{ margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--nb-border); display:flex; gap: 10px; justify-content:space-between; flex-wrap:wrap; }

/* Floating WhatsApp */
.nb-wa-float{
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 999px;
  border: 1px solid rgba(37, 211, 102, .35);
  background: linear-gradient(135deg, rgba(30,190,93,.92), rgba(37,211,102,.92));
  color:white;
  box-shadow: 0 0 30px rgba(37, 211, 102, .35), var(--nb-shadow);
}
.nb-wa-float__icon{
  width: 34px; height: 34px;
  border-radius: 999px;
  display:grid;
  place-content:center;
  background: rgba(0,0,0,.12);
}
.nb-wa-float__text{ font-weight: 900; letter-spacing:-.01em; }

/* WordPress blocks */
.wp-block{ max-width: 100%; }
.wp-block-image img{ border-radius: 16px; }
.wp-block-table table{ width:100%; border-collapse: collapse; }
.wp-block-table td, .wp-block-table th{ border:1px solid var(--nb-border); padding:10px; }

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


/* Header layout guards */
.nb-brand{ flex: 0 0 auto; }
.nb-search{ flex: 1 1 420px; min-width: 220px; }
.nb-nav--desktop{ flex: 0 1 auto; }
.nb-actions{ flex: 0 0 auto; margin-left: auto; }
@media (max-width: 980px){
  .nb-search{ display:block; order: 3; flex: 1 1 100%; }
  .nb-actions{ order: 2; }
  .nb-nav--desktop{ display:none; }
}

/* Make search more visible */
.nb-searchform__input{
  color: var(--nb-text);
}
.nb-searchform__input::placeholder{
  color: color-mix(in oklab, var(--nb-muted) 85%, transparent);
  opacity: 1;
}

/* Footer logo sizing */
.nb-footer__logo--small img{ max-height: 48px; width:auto; }
.nb-footer__logo--small a{ display:inline-flex; align-items:center; }


/* ===== v1.1.1 Header polish: logo + compact ===== */
.nb-header__inner{ padding: 10px 0; }
@media (min-width: 980px){
  .nb-header__inner{ padding: 10px 0; }
}

/* Constrain gigantic logos */
.nb-logo img,
.custom-logo-link img{
  max-height: 56px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}
@media (max-width: 720px){
  .nb-logo img,
  .custom-logo-link img{
    max-height: 44px !important;
  }
}

/* ===== Neon moving glow effect (lightweight) ===== */
:root{
  --nb-glow-speed: 3.2s;
}

/* Base interactive */
.nb-btn,
.nb-cart,
.nb-mode,
.nb-burger,
.nb-menu a,
.nb-searchform__btn,
.nb-searchform__input{
  position: relative;
  isolation: isolate;
}

/* Animated border glow on hover/focus */
.nb-btn::before,
.nb-cart::before,
.nb-mode::before,
.nb-burger::before,
.nb-menu a::before,
.nb-searchform__btn::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: inherit;
  background: linear-gradient(90deg,
    var(--nb-accent),
    var(--nb-accent2),
    var(--nb-pink),
    var(--nb-blue),
    var(--nb-orange),
    var(--nb-accent)
  );
  background-size: 280% 100%;
  opacity: 0;
  z-index: -1;
  filter: blur(10px);
  transition: opacity .18s ease;
  animation: nbGlowMove var(--nb-glow-speed) linear infinite;
}

.nb-btn:hover::before,
.nb-btn:focus-visible::before,
.nb-cart:hover::before,
.nb-cart:focus-visible::before,
.nb-mode:hover::before,
.nb-mode:focus-visible::before,
.nb-burger:hover::before,
.nb-burger:focus-visible::before,
.nb-menu a:hover::before,
.nb-menu a:focus-visible::before,
.nb-searchform__btn:hover::before,
.nb-searchform__btn:focus-visible::before{
  opacity: .85;
}

/* Keep button surfaces crisp above glow */
.nb-btn,
.nb-cart,
.nb-mode,
.nb-burger,
.nb-searchform__btn{
  transform: translateZ(0);
}

/* Menu links: make them feel premium */
.nb-menu a{
  border: 1px solid var(--nb-border);
  background: color-mix(in oklab, var(--nb-surface) 92%, transparent);
  box-shadow: var(--nb-shadow2);
  color: var(--nb-text);
}
.nb-menu a:hover{
  border-color: color-mix(in oklab, var(--nb-accent2) 45%, var(--nb-border));
}

/* Search: glow ring */
.nb-searchform__input{
  transition: box-shadow .18s ease, border-color .18s ease;
}
.nb-searchform__input:focus{
  border-color: color-mix(in oklab, var(--nb-accent2) 55%, var(--nb-border));
  box-shadow: 0 0 0 7px color-mix(in oklab, var(--nb-accent2) 16%, transparent), var(--nb-shadow2);
}

@keyframes nbGlowMove{
  0%{ background-position: 0% 50%; }
  100%{ background-position: 100% 50%; }
}

/* Reduce motion compliance */
@media (prefers-reduced-motion: reduce){
  .nb-btn::before,
  .nb-cart::before,
  .nb-mode::before,
  .nb-burger::before,
  .nb-menu a::before,
  .nb-searchform__btn::before{
    animation: none !important;
  }
}


/* ===== WhatsApp Cotizador Modal ===== */
.nb-modal{
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
}
.nb-modal.is-open{ display:block; }
.nb-modal__backdrop{
  position:absolute; inset:0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(8px);
}
.nb-modal__panel{
  position: relative;
  width: min(980px, calc(100% - 24px));
  margin: 6vh auto;
  border-radius: calc(var(--nb-radius) + 6px);
  border: 1px solid var(--nb-border);
  background: var(--nb-surface);
  box-shadow: var(--nb-shadow);
  overflow: hidden;
}
.nb-modal__close{
  position:absolute;
  top: 10px; right: 10px;
  width: 44px; height: 44px;
  border-radius: 16px;
  border: 1px solid var(--nb-border);
  background: color-mix(in oklab, var(--nb-surface) 92%, transparent);
  box-shadow: var(--nb-shadow2);
  cursor: pointer;
  font-size: 22px;
  color: var(--nb-text);
}
.nb-modal__grid{
  display:grid;
  grid-template-columns: 1fr;
}
@media (min-width: 900px){
  .nb-modal__grid{ grid-template-columns: 360px 1fr; }
}
.nb-modal__left{
  padding: 18px;
  border-bottom: 1px solid var(--nb-border);
}
@media (min-width: 900px){
  .nb-modal__left{ border-bottom: 0; border-right: 1px solid var(--nb-border); }
}
.nb-modal__imgwrap{ padding: 12px; }
.nb-modal__imgwrap img{
  width: 100%;
  height: auto;
  border-radius: 18px;
  border: 1px solid var(--nb-border);
}
.nb-modal__right{
  padding: 18px;
}
.nb-modal__sub{ margin-top: -4px; }

/* Form */
.nb-form{ display:grid; gap: 12px; }
.nb-form__row{ display:grid; gap: 8px; }
.nb-label{ font-weight: 900; letter-spacing:-.01em; }
.nb-input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid var(--nb-border);
  background: var(--nb-surface);
  color: var(--nb-text);
  box-shadow: var(--nb-shadow2);
  outline: none;
}
.nb-input:focus{
  border-color: color-mix(in oklab, var(--nb-accent2) 55%, var(--nb-border));
  box-shadow: 0 0 0 7px color-mix(in oklab, var(--nb-accent2) 16%, transparent), var(--nb-shadow2);
}
.nb-textarea{ resize: vertical; min-height: 86px; }
.nb-form__two{
  grid-template-columns: 1fr;
}
@media (min-width: 700px){
  .nb-form__two{ grid-template-columns: 1fr 1fr; gap: 12px; }
}
.nb-seg{
  display:grid;
  grid-template-columns: 1fr 120px;
  gap: 10px;
}
.nb-form__preview{
  padding: 12px;
}
.nb-form__previewtitle{ font-size: .85rem; margin-bottom: 6px; }
.nb-form__previewtext{
  font-weight: 800;
  line-height: 1.45;
  white-space: pre-wrap;
}
.nb-form__actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

.nb-wa-float--btn{cursor:pointer;border:none;}

/* Float modal close hooks use existing nb-modal styles */


/* ===== Global page polish (3.1.0) ===== */
.nb-container, .site-main, .content-area{
  scroll-behavior: smooth;
}

.entry-content, .woocommerce-Tabs-panel{
  font-size: 1.02rem;
  line-height: 1.65;
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4{
  letter-spacing: -.02em;
  font-weight: 950;
}

.entry-content a{
  color: color-mix(in oklab, var(--nb-accent2) 75%, var(--nb-text));
  text-decoration: none;
}
.entry-content a:hover{
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

.nb-surface{
  background: color-mix(in oklab, var(--nb-surface) 92%, transparent);
  border: 1px solid var(--nb-border);
  border-radius: calc(var(--nb-radius) + 8px);
  box-shadow: var(--nb-shadow2);
}

/* Make generic pages feel like cards */
.page .entry-content > *:first-child{
  margin-top: 0;
}
.page .entry-content{
  background: color-mix(in oklab, var(--nb-surface) 92%, transparent);
  border: 1px solid var(--nb-border);
  border-radius: calc(var(--nb-radius) + 10px);
  box-shadow: var(--nb-shadow2);
  padding: clamp(14px, 2vw, 22px);
}

/* Contact forms (CF7 / WPForms / Elementor forms) */
.wpcf7 form, .wpforms-container, form.elementor-form{
  background: color-mix(in oklab, var(--nb-surface) 92%, transparent);
  border: 1px solid var(--nb-border);
  border-radius: calc(var(--nb-radius) + 10px);
  box-shadow: var(--nb-shadow2);
  padding: 16px;
}
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea,
.wpforms-container input, .wpforms-container textarea, .wpforms-container select,
form.elementor-form input, form.elementor-form textarea, form.elementor-form select{
  border-radius: 16px !important;
  border: 1px solid var(--nb-border) !important;
  background: var(--nb-surface) !important;
  color: var(--nb-text) !important;
  padding: 12px 12px !important;
  box-shadow: var(--nb-shadow2) !important;
}
.wpcf7 input:focus, .wpcf7 textarea:focus,
.wpforms-container input:focus, .wpforms-container textarea:focus, .wpforms-container select:focus,
form.elementor-form input:focus, form.elementor-form textarea:focus, form.elementor-form select:focus{
  outline: none !important;
  border-color: color-mix(in oklab, var(--nb-accent2) 55%, var(--nb-border)) !important;
  box-shadow: 0 0 0 7px color-mix(in oklab, var(--nb-accent2) 16%, transparent), var(--nb-shadow2) !important;
}
.wpcf7 input[type="submit"], .wpforms-container button[type="submit"], form.elementor-form button[type="submit"]{
  border-radius: 999px !important;
  font-weight: 950 !important;
  padding: 12px 16px !important;
}

/* Subtle reveal animations */
.nb-reveal{
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .35s ease, transform .35s ease;
}
.nb-reveal.is-in{
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .nb-reveal{ opacity: 1; transform: none; transition: none; }
}
