/* GRAVON_BRAND_V006
 * Final catalogue/contact corrections:
 * - guaranteed contrast on dark panels
 * - viewport-contained desktop filters with internal tree scrolling
 * - session-backed math captcha presentation
 */

/* Dark panels must remain readable even when admin theme tokens change. */
.gravon-brand-v003 .crafto-pro-catalog-hero h2,
.gravon-brand-v003 .crafto-pro-catalog-hero h2 a,
.gravon-brand-v003 .crafto-pro-catalog-hero h2 span{
  color:#fff!important;
  text-shadow:0 3px 18px color-mix(in srgb,var(--crafto-dark,#08091d) 32%,transparent);
}
.gravon-brand-v003 .crafto-pro-catalog-hero p{color:rgba(255,255,255,.76)!important}

.gravon-brand-v003 .crafto-contact-panel{
  position:relative;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--crafto-primary,#66cc33) 35%,transparent)!important;
  background:
    radial-gradient(circle at 92% 7%,color-mix(in srgb,var(--crafto-primary,#66cc33) 18%,transparent),transparent 30%),
    linear-gradient(145deg,var(--crafto-dark,#08091d),var(--crafto-secondary,#0c0d29))!important;
  box-shadow:0 24px 60px color-mix(in srgb,var(--crafto-secondary,#0c0d29) 20%,transparent);
}
.gravon-brand-v003 .crafto-contact-panel:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:var(--crafto-primary,#66cc33);
}
.gravon-brand-v003 .crafto-contact-panel h2,
.gravon-brand-v003 .crafto-contact-panel h2 a,
.gravon-brand-v003 .crafto-contact-panel h2 span{color:#fff!important}
.gravon-brand-v003 .crafto-contact-panel>p{color:rgba(255,255,255,.72)!important}
.gravon-brand-v003 .crafto-contact-panel .crafto-contact-points span{color:rgba(255,255,255,.9)!important}
.gravon-brand-v003 .crafto-contact-panel .crafto-contact-points i{color:var(--crafto-primary,#66cc33)!important}

/* Desktop: the panel stays inside the viewport; only the category tree scrolls. */
@media(min-width:992px){
  .gravon-brand-v003 .crafto-pro-catalog-layout{align-items:start!important}
  .gravon-brand-v003 .crafto-pro-filter{
    position:sticky!important;
    top:96px!important;
    align-self:start!important;
    max-height:calc(100dvh - 116px)!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .gravon-brand-v003 .crafto-pro-filter-head,
  .gravon-brand-v003 .crafto-pro-filter>.crafto-pro-filter-section:not(.crafto-pro-filter-tree-section),
  .gravon-brand-v003 .crafto-pro-filter>.crafto-pro-filter-reset{
    flex:0 0 auto!important;
  }
  .gravon-brand-v003 .crafto-pro-filter-tree-section{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .gravon-brand-v003 .crafto-pro-category-tree{
    flex:1 1 auto!important;
    min-height:120px!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
  .gravon-brand-v003 .crafto-pro-filter-reset{margin-top:14px!important;margin-bottom:16px!important}
}

/* Math captcha */
.gravon-brand-v003 .crafto-math-captcha{
  padding:17px 18px;
  border:1px solid var(--crafto-border,#dfe5e8);
  border-radius:var(--crafto-card-radius,16px);
  background:linear-gradient(135deg,var(--crafto-light,#f4f7f3),var(--crafto-surface,#fff));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.gravon-brand-v003 .crafto-math-captcha-copy{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.gravon-brand-v003 .crafto-math-captcha-copy>span{
  color:var(--crafto-secondary,#0c0d29);
  font-size:11px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.gravon-brand-v003 .crafto-math-captcha-copy>small{color:var(--crafto-muted,#66737d);font-size:10px;line-height:1.45}
.gravon-brand-v003 .crafto-math-captcha-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(110px,145px);gap:12px;align-items:center}
.gravon-brand-v003 .crafto-math-captcha-row>strong{
  min-height:52px;
  padding:0 18px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--crafto-dark,#08091d),var(--crafto-secondary,#0c0d29));
  color:#fff;
  font-size:22px;
  font-weight:800;
  letter-spacing:.04em;
  box-shadow:inset 0 -3px 0 var(--crafto-primary,#66cc33);
}
.gravon-brand-v003 .crafto-contact-form .crafto-math-captcha-row>input[type="number"]{
  height:52px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid var(--crafto-border,#dfe5e8)!important;
  border-radius:12px!important;
  background:var(--crafto-surface,#fff)!important;
  color:var(--crafto-secondary,#0c0d29)!important;
  font-size:17px!important;
  font-weight:750!important;
  text-align:center;
  appearance:textfield;
}
.gravon-brand-v003 .crafto-contact-form .crafto-math-captcha-row>input[type="number"]::-webkit-inner-spin-button,
.gravon-brand-v003 .crafto-contact-form .crafto-math-captcha-row>input[type="number"]::-webkit-outer-spin-button{margin:0;appearance:none}
.gravon-brand-v003 .crafto-contact-form .crafto-math-captcha-row>input[type="number"]:focus{
  border-color:var(--crafto-primary,#66cc33)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--crafto-primary,#66cc33) 16%,transparent)!important;
  outline:0;
}
.gravon-brand-v003 .crafto-math-captcha-error{display:block;margin-top:9px;color:#bd2c2c;font-size:11px;font-weight:700}

@media(max-width:767px){
  .gravon-brand-v003 .crafto-math-captcha-copy{display:block}
  .gravon-brand-v003 .crafto-math-captcha-copy>small{display:block;margin-top:4px}
  .gravon-brand-v003 .crafto-math-captcha-row{grid-template-columns:1fr}
}
