/* Approved material treatment, isolated from controls, pricing and geometry. */
.gd-door-diagram > .gd-realistic {
  border-color: #2c3336;
  box-shadow: 0 0 0 1px #151a1de6, 0 0 0 5px #d1d5d4, 0 0 0 6px #929b9e, 0 5px 10px #182b3333;
}
.gd-realistic::before {background: none !important;}
.gd-realistic::after {
  z-index: 14;
  background: linear-gradient(180deg,#050b1020 0,transparent 10%,#ffffff0a 22%,transparent 53%,#0000000b 100%),linear-gradient(105deg,#ffffff0d,transparent 44%,#030a1414);
  box-shadow: inset 3px 0 5px #111b201c,inset -3px 0 5px #10151a19;
}
.gd-realistic > .gd-surface-texture[data-surface="woodgrain"]:not([data-color="goldenoak"]):not([data-color="darkoak"]):not([data-color="mahagony"]):not([data-color="winchester"]):not([data-color="wenge"]),
.gd-realistic > .gd-surface-texture[data-surface="stucco"]:not([data-color="goldenoak"]):not([data-color="darkoak"]):not([data-color="mahagony"]):not([data-color="winchester"]):not([data-color="wenge"]) {
  background: none;
  opacity: 1;
  filter: none;
}
.gd-surface-relief {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-repeat: repeat;
  /* Hard-light retains embossed shadows on white and highlights on dark paint. */
  mix-blend-mode: hard-light;
  filter: contrast(1.35);
}
.gd-surface-relief[data-surface="woodgrain"] {
  background-image: url("./images/relief-woodgrain-approved.png?v=20260926-01");
  background-size: max(120%, 480px) auto;
  opacity: .32;
}
.gd-surface-relief[data-surface="stucco"] {
  background-image: url("./images/relief-stucco-approved.png?v=20260926-01");
  background-size: max(16%, 64px) auto;
  opacity: .48;
}
.gd-realistic .gd-pass-door-preview > .gd-surface-relief {display: none;}
.gd-realistic .gd-pass-door-panel-continuation {visibility: hidden;}
.gd-realistic .gd-generated-panel {
  border-bottom-color: #1821258c;
  box-shadow: inset 0 .65px #ffffff48,inset 0 -1px #00000016;
  background: linear-gradient(180deg,#ffffff0c,transparent 18%,transparent 82%,#0000000b);
}
.gd-realistic .gd-panel-groove {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  position: relative;
}
.gd-realistic .gd-panel-groove::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 2.4px;
  transform: translateY(-50%);
  background: linear-gradient(180deg,#00000010 0%,#0d161a88 30%,#0d161a60 52%,#ffffffa6 77%,#ffffff0c 100%);
}
.gd-realistic .gd-panel-pattern[data-design="m-line"] .gd-panel-groove::after {height: 3px;}
.gd-realistic .gd-panel-pattern[data-design="s-line"] .gd-panel-groove::after {height: 1.7px;opacity: .8;}
.gd-realistic .gd-panel-pattern[data-design="microwave"] .gd-panel-groove,
.gd-generated-design-thumb[data-design="microwave"] .gd-panel-groove {visibility: hidden;}
.gd-microwave-relief {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-repeat: repeat-y;
  background-size: 100% var(--rib-step);
  background-image: linear-gradient(180deg,#ffffff03 0%,#ffffff40 24%,#ffffff16 43%,#07101830 65%,#0912161f 82%,#ffffff03 100%);
}
.gd-realistic .gd-glazing-row-active {
  background-image: linear-gradient(180deg,#ffffff48 0%,#ffffff16 30%,#0000000a 85%,#0000001c);
  box-shadow: inset 0 .7px #ffffff79,inset 0 -1px #20282a40;
}
.gd-realistic .gd-glazing-pane,
.gd-realistic .gd-window-pane::before {
  /* One daylight tint and a soft sheen, without a dark lower reflection band. */
  background: linear-gradient(115deg,#ffffff45 0%,#ffffff10 38%,#ffffff00 65%),#b9deeb;
}
.gd-realistic .gd-glazing-pane {
  border-color: #789ba6;
  box-shadow: inset 0 1.2px 2px #193b482b,inset 1px 0 1px #193b482b,inset 0 -1px #eefaff99,0 0 0 .7px #edf8fb8c;
  overflow: hidden;
}
.gd-realistic .gd-window-pane {
  background-image: linear-gradient(140deg,#ffffff22,transparent 37%,#00000032);
  box-shadow: 0 1px 2px #131b1f66,inset 0 1px #ffffff59;
}
.gd-realistic .gd-window-pane::before {
  border-color: #597b84;
  box-shadow: inset 1px 1px 2px #193b4838,inset 0 -1px #eefaff80;
}
.gd-realistic .gd-pass-door-preview {box-shadow: 0 0 0 .65px #171d20b3,1px 1px 2px #10191b66;}
.gd-realistic .gd-pass-door-leaf {box-shadow: inset .8px .8px #ffffff82,inset -.8px -.8px #18202370;}
.gd-realistic .gd-pass-door-shared-profile > i,
.gd-realistic .gd-pass-door-wide-profile > i {
  background-image: linear-gradient(90deg,#ffffff69 0%,#ffffff20 19%,transparent 44%,#00000009 79%,#ffffff34 92%,#00000020);
  box-shadow: inset 0 .7px #ffffff4d;
}
/* The wicket uses the same full-height joint grid, clipped to its leaf. */
.gd-realistic .gd-pass-door-joints {
  inset: auto 0 calc(0% - var(--pass-threshold-local, 0%));
  height: var(--pass-grid-height);
  z-index: 5;
}
.gd-realistic .gd-glazing-joint-row-active::before,
.gd-realistic .gd-glazing-joint-row-active::after {
  background-image: linear-gradient(180deg,#ffffff55,#ffffff16 40%,#00000012);
}
.gd-realistic .gd-bottom-seal {
  background: linear-gradient(180deg,#1b2529,#303639 25%,#111719 48%,#0e1214);
  box-shadow: inset 0 .6px #b1bbba82;
}
.gd-opening-back-wall {fill: #e0e2e0;}
.gd-opening-room-surface {fill: #cfd3d1;}
.gd-opening-room-ceiling {fill: #c2c8c7;}
.gd-opening-floor-grid {opacity: .32;}
.gd-opening-aperture {fill: #edf1f2;}
.gd-opening-reveal {fill: #aab2b2;}
.gd-opening-reveal-top {fill: #8c9699;}
