
:root{ --dmctn-primary:#2e5f3a; --dmctn-accent:#d4af37; --dmctn-red:#c21616; --dmctn-star:#ffde59; }
.dmctn-qb-btn{ position:fixed; left:12px; bottom:20%; z-index:9999; display:flex; flex-direction:column; align-items:center; gap:6px; padding:10px 12px; border-radius:12px; background:linear-gradient(180deg, var(--dmctn-primary), #23462d); border:2px solid var(--dmctn-accent); color:#fff; font-weight:800; line-height:1.1; text-transform:uppercase; letter-spacing:.2px; box-shadow:0 8px 20px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.06); cursor:pointer; transform:translateZ(0); animation:dmctn-breathe 2.8s ease-in-out infinite, dmctn-float 6s ease-in-out infinite; backdrop-filter: blur(2px); }
.dmctn-qb-btn__star{ font-size:20px; color:var(--dmctn-star); filter: drop-shadow(0 0 6px rgba(255,222,89,.6)); animation: dmctn-float 4s ease-in-out infinite; }
.dmctn-qb-btn__text{ font-size:12px; text-align:center; }
.dmctn-qb-btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }
@keyframes dmctn-breathe{0%{transform:translateZ(0) scale(1);box-shadow:0 8px 20px rgba(0,0,0,.25),0 0 0 0 rgba(212,175,55,.0);}50%{transform:translateZ(0) scale(1.03);box-shadow:0 12px 26px rgba(0,0,0,.3),0 0 0 6px rgba(212,175,55,.18);}100%{transform:translateZ(0) scale(1);box-shadow:0 8px 20px rgba(0,0,0,.25),0 0 0 0 rgba(212,175,55,.0);}}
@keyframes dmctn-float{0%{transform:translateY(0)}50%{transform:translateY(-2px)}100%{transform:translateY(0)}}
.dmctn-qb-modal{ position:fixed; inset:0; display:none; z-index:10000; } .dmctn-qb-modal.is-open{ display:block; }
.dmctn-qb-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.55); }
.dmctn-qb-modal__panel{ position:relative; margin:6vh auto 0; width:min(92vw, 640px); background:#10130f; color:#e9f1e7; border-radius:14px; border:1px solid rgba(212,175,55,.35); box-shadow:0 20px 60px rgba(0,0,0,.45); overflow:hidden; }
.dmctn-qb-modal__heading{ margin:0; padding:16px 20px; background:linear-gradient(180deg, rgba(46,95,58,.95), rgba(35,70,45,.95)); border-bottom:1px solid rgba(212,175,55,.35); color:#fff; font-size:18px; font-weight:800; }
.dmctn-qb-modal__subtitle{ margin:0; padding:8px 20px 0 20px; color:#c9d6cc; font-size:14px; }
.dmctn-qb-modal__close{ position:absolute; top:6px; right:8px; width:32px; height:32px; border-radius:50%; border:1px solid rgba(212,175,55,.45); background:rgba(0,0,0,.35); color:#fff; font-size:20px; cursor:pointer; }
.dmctn-qb-form{ padding:14px 20px 18px 20px; } .dm-row{ margin:10px 0; display:flex; flex-direction:column; gap:6px; }
.dm-row label{ font-weight:600; color:#f6f9f5; } .dm-row .req{ color:var(--dmctn-star); }
.dm-row input, .dm-row textarea{ width:100%; padding:10px 12px; border-radius:10px; background:#0b0f0c; color:#e9f1e7; border:1px solid rgba(212,175,55,.25); outline:none; }
.dm-row input:focus, .dm-row textarea:focus{ border-color:var(--dmctn-accent); box-shadow:0 0 0 2px rgba(212,175,55,.2); }
.dm-actions{ margin-top:10px; display:flex; gap:10px; flex-wrap:wrap; }
.dm-btn{ padding:10px 16px; border-radius:10px; font-weight:800; cursor:pointer; border:1px solid rgba(212,175,55,.45); }
.dm-btn--primary{ background:linear-gradient(180deg, var(--dmctn-primary), #23462d); color:#fff; } .dm-btn--ghost{ background:transparent; color:#e9f1e7; }
.dm-btn--primary:hover{ filter:brightness(1.05); } .dm-btn--ghost:hover{ background:rgba(255,255,255,.06); }
.dm-legal{ margin:8px 0 0; font-size:12px; color:#aab7ab; } .dmctn-qb-result{ padding:16px 20px; }
@media (max-width:782px){ .dmctn-qb-btn{ left:10px; bottom:12%; } .dmctn-qb-modal__panel{ width:94vw; margin-top:8vh; } .dm-actions{ flex-direction:column; } .dm-btn{ width:100%; } }


/* DMCTN cart preview */
.dm-section.dm-cart{margin:8px 0 0;border:1px solid rgba(212,175,55,.25);border-radius:10px;overflow:hidden}
.dm-cart__title{padding:10px 12px;background:#0f140f;color:#e9f1e7;font-weight:700}
.dm-cart__body{max-height:180px;overflow:auto;background:#0b0f0c}
.dm-cart__loading{padding:10px 12px;color:#c9d6cc}
.dm-cart__item{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-top:1px solid rgba(255,255,255,.06)}
.dm-cart__item:first-child{border-top:0}
.dm-cart__name{color:#f6f9f5}
.dm-cart__qty{opacity:.85}
.dm-cart__price{white-space:nowrap}
.dm-cart__total{padding:10px 12px;border-top:1px dashed rgba(255,255,255,.15);display:flex;justify-content:space-between;font-weight:800}

