/* ADU Builder - 3D configurator */
.aduc{
  --n:#16233d;--o:#F26722;--cy:#7fd4e8;--ln:#e3e8f0;--mut:#5b6674;
  position:relative;border-radius:16px;overflow:hidden;background:#fff;
  border:1px solid var(--ln);box-shadow:0 20px 54px rgba(16,28,52,.14);
  display:grid;grid-template-columns:1.35fr .95fr;
}
/* fixed height keeps the 3D framing predictable (grid stretch made it portrait) */
.aduc-stage{position:relative;background:#eef2f7;height:540px;min-height:540px}
.aduc-canvas{position:absolute;inset:0}
.aduc-canvas canvas{display:block;width:100%;height:100%}

/* fallback poster when WebGL is unavailable / small screens */
.aduc-fallback{position:absolute;inset:0;display:none;background-size:cover;background-position:center}
.aduc-static .aduc-fallback{display:block}
.aduc-static .aduc-canvas{display:none}

.aduc-badge{
  position:absolute;left:16px;top:16px;z-index:3;display:inline-flex;align-items:center;gap:7px;
  background:rgba(22,35,61,.86);color:#fff;border-radius:40px;padding:7px 14px;
  font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;backdrop-filter:blur(6px)}
.aduc-badge i{width:7px;height:7px;border-radius:50%;background:var(--cy);display:inline-block}
.aduc-hint{
  position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:3;
  background:rgba(255,255,255,.9);color:var(--mut);border-radius:30px;padding:6px 15px;
  font-size:.8rem;font-weight:600;white-space:nowrap;opacity:0;transition:opacity .4s}
.aduc-ready .aduc-hint{opacity:1}

/* ---- panel ---- */
.aduc-panel{padding:28px 28px 26px;display:flex;flex-direction:column;gap:20px;background:#fff}
.aduc-panel h3{
  margin:0;font-size:1.36rem;font-weight:800;color:var(--n);letter-spacing:-.01em;
  font-family:"Archivo",system-ui,sans-serif}
.aduc-panel .aduc-sub{margin:-12px 0 0;font-size:.93rem;color:var(--mut);line-height:1.55}
.aduc-group{display:flex;flex-direction:column;gap:8px}
.aduc-group>label{
  font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8a94a4}
.aduc-opts{display:flex;flex-wrap:wrap;gap:8px}
.aduc-opts button{
  flex:1 1 auto;min-width:74px;cursor:pointer;border:1.5px solid var(--ln);background:#fff;
  border-radius:10px;padding:11px 12px;font-size:.9rem;font-weight:700;color:var(--n);
  transition:.16s;font-family:inherit;line-height:1.25}
.aduc-opts button:hover{border-color:#b9c6da;transform:translateY(-1px)}
.aduc-opts button.is-active{
  border-color:var(--o);background:#fff6f1;color:var(--o);
  box-shadow:0 5px 15px rgba(242,103,34,.18)}

/* readout */
.aduc-readout{border-top:1px solid var(--ln);padding-top:16px;display:grid;gap:11px}
.aduc-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.aduc-row span:first-child{font-size:.86rem;color:var(--mut)}
.aduc-row span:last-child{font-weight:800;color:var(--n);font-size:.99rem;text-align:right}
.aduc-row.big span:last-child{color:var(--o);font-size:1.16rem}
.aduc-note{font-size:.76rem;color:#8a94a4;line-height:1.5;margin:0}
.aduc-cta{
  display:block;text-align:center;background:var(--o);color:#fff!important;font-weight:800;
  padding:15px 20px;border-radius:11px;text-decoration:none!important;font-size:1.02rem;
  box-shadow:0 9px 24px rgba(242,103,34,.32);transition:.18s}
.aduc-cta:hover{background:#d9551a;transform:translateY(-2px)}

@media(max-width:980px){
  .aduc{grid-template-columns:1fr}
  .aduc-stage{height:320px;min-height:320px}
  .aduc-panel{padding:22px 20px}
}
