.quote-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr); gap:18px; align-items:start; }
.quote-form { padding:30px; border:1px solid rgba(255,255,255,.07); border-radius:26px; background:linear-gradient(145deg,#171513,#121110); display:grid; gap:17px; }
.quote-items-section { display:grid; gap:13px; padding:20px; border:1px solid rgba(255,255,255,.07); border-radius:20px; background:#11100f; }
.quote-section-label { display:block; color:var(--primary); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.quote-items-section h2 { margin:-4px 0 2px; font-family:Georgia,"Times New Roman",serif; font-size:24px; font-weight:500; }
.quote-items-table { display:grid; gap:8px; }
.quote-items-head,.quote-item-row { display:grid; grid-template-columns:minmax(0,1fr) 120px; gap:10px; align-items:center; }
.quote-items-head { padding:0 5px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.quote-item-row { padding:10px; border:1px solid rgba(255,255,255,.055); border-radius:14px; background:#171513; }
.quote-item-row input { min-width:0; }
.quote-submit { justify-self:start; border:0; min-width:180px; }
.quote-side { display:grid; gap:14px; }
.quote-side-card { min-height:170px; padding:26px; border:1px solid rgba(255,255,255,.07); border-radius:22px; background:rgba(22,20,19,.88); }
.quote-side-card h2 { margin:28px 0 8px; font-family:Georgia,"Times New Roman",serif; font-weight:500; }
.quote-side-card p,.quote-side-card a { margin:0; color:var(--muted); line-height:1.65; word-break:break-word; }
.quote-side-card a:hover { color:#fff; }
.quote-popup-open { overflow:hidden; }
.quote-success-overlay { position:fixed; inset:0; z-index:1100; display:grid; place-items:center; padding:20px; background:rgba(5,5,5,.74); backdrop-filter:blur(7px); opacity:0; transition:opacity .18s ease; }
.quote-success-overlay[hidden] { display:none; }
.quote-success-overlay.is-visible { opacity:1; }
.quote-success-card { width:min(500px,100%); padding:30px; border:1px solid rgba(183,169,145,.38); border-radius:24px; background:linear-gradient(145deg,#1b1816,#11100f 70%); box-shadow:0 24px 80px rgba(0,0,0,.52); transform:translateY(10px) scale(.985); transition:transform .18s ease; }
.quote-success-overlay.is-visible .quote-success-card { transform:translateY(0) scale(1); }
.quote-success-card span { display:block; margin-bottom:8px; color:#b7a991; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.quote-success-card h2 { margin:0 0 12px; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:31px; font-weight:500; }
.quote-success-card p { margin:0 0 20px; color:var(--muted); font-size:15px; line-height:1.65; }
.quote-success-reference { margin:0 0 20px !important; padding:13px 15px; border:1px solid rgba(255,255,255,.08); border-radius:13px; background:#11100f; color:#f2d47a !important; font-weight:700; }
@media (max-width:1100px) { .quote-layout { grid-template-columns:1fr; } }
@media (max-width:768px) { .quote-form { padding:22px; } }
@media (max-width:520px) { .quote-items-head,.quote-item-row { grid-template-columns:minmax(0,1fr) 92px; } .quote-item-row { padding:8px; } }
.quote-add-item { justify-self:start; display:inline-flex; align-items:center; gap:10px; min-height:42px; padding:9px 16px 9px 10px; border:1px solid rgba(183,169,145,.28); border-radius:999px; background:rgba(183,169,145,.065); color:#f4efe9; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.quote-add-item span { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:linear-gradient(145deg,#f2d47a,#a97e27); color:#11100f; font-size:20px; line-height:1; box-shadow:0 0 14px rgba(242,212,122,.18); }
.quote-add-item:hover { border-color:rgba(242,212,122,.52); background:rgba(183,169,145,.12); }
.quote-add-item[hidden] { display:none; }
