:root{
  --color-primary:#1A1A2E;
  --color-secondary:#2D2D44;
  --color-accent:#FF6B35;
  --color-bg-light:#FFF7ED;
  --color-bg-alt:#FFEDD5;
}

html{scroll-behavior:smooth;scroll-padding-top:5rem;}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;}

::selection{background:rgba(255,107,53,.25);}

button,.btn,[class*="btn-"],a[href="#order_form"]{
  white-space:nowrap;
  min-width:fit-content;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
}

form button[type="submit"]{white-space:normal;width:100%;}

[data-animate]{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out;}
[data-animate].is-visible{opacity:1;transform:translateY(0);}

.rotate-180{transform:rotate(180deg);}

.decor-grid-dots{
  background-image:radial-gradient(currentColor 1px,transparent 1px);
  background-size:18px 18px;
  color:rgba(0,0,0,.08);
}
.decor-grid-lines{
  background-image:linear-gradient(to right, rgba(255,255,255,.08) 1px, transparent 1px),
                   linear-gradient(to bottom, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:28px 28px;
}
.decor-diagonal{
  background-image:repeating-linear-gradient(135deg, rgba(255,107,53,.10) 0 10px, transparent 10px 20px);
}
.decor-mesh{
  background:
    radial-gradient(600px 300px at 10% 10%, rgba(255,107,53,.18), transparent 60%),
    radial-gradient(500px 260px at 90% 20%, rgba(255,255,255,.10), transparent 60%),
    radial-gradient(420px 240px at 30% 90%, rgba(45,45,68,.22), transparent 60%);
}

.decor-subtle{opacity:.45;}
.decor-moderate{opacity:.75;}
.decor-bold{opacity:1;}

.decor-gradient-blur{position:relative;}
.decor-gradient-blur::before,
.decor-gradient-blur::after{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  filter:blur(40px);
  opacity:.25;
  z-index:-1;
}
.decor-gradient-blur::before{
  top:-80px; left:-80px;
  background:radial-gradient(circle at 30% 30%, var(--color-accent), transparent 65%);
}
.decor-gradient-blur::after{
  bottom:-90px; right:-90px;
  background:radial-gradient(circle at 40% 40%, rgba(45,45,68,.9), transparent 65%);
}

.decor-corner-tr{position:relative;}
.decor-corner-tr::after{
  content:"";
  position:absolute;
  top:-1px; right:-1px;
  width:90px; height:90px;
  background:linear-gradient(135deg, rgba(255,107,53,.22), transparent 70%);
  border-top-right-radius:28px;
  pointer-events:none;
}

.decor-corner-bl{position:relative;}
.decor-corner-bl::after{
  content:"";
  position:absolute;
  bottom:-1px; left:-1px;
  width:90px; height:90px;
  background:linear-gradient(315deg, rgba(255,107,53,.18), transparent 70%);
  border-bottom-left-radius:28px;
  pointer-events:none;
}

.decor-glow-element{position:relative;}
.decor-glow-element::before{
  content:"";
  position:absolute;
  inset:-18px;
  background:radial-gradient(circle at 50% 40%, rgba(255,107,53,.25), transparent 60%);
  filter:blur(12px);
  z-index:-1;
}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid rgba(255,107,53,.55);
  outline-offset:3px;
  border-radius:12px;
}

input[type="checkbox"].sr-only + div{transition:background-color .2s ease;}