:root{--spt-orange:#ff6a00;--spt-gold:#ffb800;--spt-charcoal:#1f1f23;--spt-bg:#fff;--spt-line:#e6e6ea;--spt-soft:#fff7ef;--spt-ok:#177245;--spt-err:#c0261b}

.spt-announcement{background:var(--spt-charcoal);color:#fff;text-align:center;padding:8px 16px;font-size:.875rem}
.spt-announcement p{margin:0;background:linear-gradient(90deg,var(--spt-gold),var(--spt-orange));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600;letter-spacing:.02em}

.spt-section{max-width:860px;margin:0 auto;padding:24px 16px}
.spt-title{margin:0 0 16px;font-size:clamp(1.4rem,3vw,2rem);line-height:1.2}
.spt-note{color:#555}
.spt-from{font-weight:600;color:var(--spt-orange)}

.spt-calc,.spt-quote-form{background:var(--spt-bg);border:1px solid var(--spt-line);border-radius:16px;padding:20px;box-shadow:0 8px 28px rgba(0,0,0,.06)}
.spt-field{display:block;margin:0 0 14px;border:0;padding:0}
.spt-field>span,.spt-field>label,.spt-field>legend{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;padding:0}
.spt-field input[type=text],.spt-field input[type=tel],.spt-field input[type=email],.spt-field input[type=number],.spt-field select,.spt-field textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cfcfd6;border-radius:10px;font:inherit;background:#fff}
.spt-field input:focus,.spt-field select:focus,.spt-field textarea:focus{outline:2px solid var(--spt-orange);outline-offset:1px;border-color:var(--spt-orange)}
.spt-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.spt-radios{display:flex;flex-wrap:wrap;gap:8px 18px}
.spt-radios legend{width:100%}
.spt-radio{display:inline-flex;gap:8px;align-items:center;font-weight:400;cursor:pointer}
.spt-upload input[type=file]{width:100%;padding:12px;border:2px dashed #cfcfd6;border-radius:10px;background:var(--spt-soft)}
.spt-upload small{display:block;color:#666;margin-top:4px}
.spt-upload-status{margin-top:6px;font-size:.875rem}
.spt-upload-status.is-ok{color:var(--spt-ok)}
.spt-upload-status.is-error{color:var(--spt-err)}

.spt-price{background:var(--spt-soft);border:1px solid #ffd9b8;border-radius:12px;padding:14px 16px;margin:6px 0 16px;transition:opacity .2s}
.spt-price.is-loading{opacity:.55}
.spt-lines{margin:0 0 10px;display:grid;grid-template-columns:1fr auto;gap:6px 16px;font-size:.9rem}
.spt-lines dt{margin:0}
.spt-lines dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.spt-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed #f0b27a;padding-top:10px;font-size:1.1rem}
.spt-total strong{font-size:1.5rem;color:var(--spt-orange)}
.spt-err{margin:0 0 4px;color:var(--spt-err)}

.spt-actions{display:flex;flex-wrap:wrap;gap:10px}
.spt-btn{display:inline-block;padding:12px 22px;border-radius:999px;border:2px solid transparent;font-weight:700;text-decoration:none;cursor:pointer;font:inherit;font-weight:700;transition:transform .15s,box-shadow .15s}
.spt-btn:hover{transform:translateY(-1px)}
.spt-btn--primary{background:linear-gradient(135deg,var(--spt-orange),var(--spt-gold));color:#1b1200;box-shadow:0 6px 16px rgba(255,106,0,.3)}
.spt-btn--ghost{background:transparent;border-color:var(--spt-charcoal);color:var(--spt-charcoal)}
.spt-btn--wa{background:#25d366;color:#04301a}
.spt-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

.spt-msg{margin-top:12px;font-size:.95rem}
.spt-msg.is-ok{color:var(--spt-ok)}
.spt-msg.is-error{color:var(--spt-err)}
.spt-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}

.spt-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.spt-filters button{border:1px solid var(--spt-line);background:#fff;border-radius:999px;padding:8px 16px;cursor:pointer;font:inherit}
.spt-filters button.is-active{background:var(--spt-charcoal);border-color:var(--spt-charcoal);color:var(--spt-gold)}
.spt-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.spt-pitem{margin:0;border-radius:14px;overflow:hidden;position:relative;background:#111}
.spt-pitem[hidden]{display:none}
.spt-pitem img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s}
.spt-pitem a:hover img{transform:scale(1.05)}
.spt-pitem figcaption{position:absolute;inset:auto 0 0 0;padding:28px 12px 10px;color:#fff;font-size:.9rem;background:linear-gradient(transparent,rgba(0,0,0,.75))}

.spt-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(10,10,12,.92);display:flex;align-items:center;justify-content:center;padding:24px}
.spt-lightbox[hidden]{display:none}
.spt-lightbox figure{margin:0;max-width:min(92vw,1100px);text-align:center;color:#fff}
.spt-lightbox img{max-width:100%;max-height:78vh;border-radius:8px}
.spt-lightbox button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;font-size:2rem;line-height:1;width:48px;height:48px;border-radius:50%;cursor:pointer}
.spt-lightbox button:hover,.spt-lightbox button:focus-visible{background:var(--spt-orange)}
.spt-lb-close{top:16px;right:16px}
.spt-lb-prev{left:16px;top:50%;transform:translateY(-50%)}
.spt-lb-next{right:16px;top:50%;transform:translateY(-50%)}

@media (max-width:600px){.spt-row{grid-template-columns:1fr}.spt-calc,.spt-quote-form{padding:16px}.spt-btn{width:100%;text-align:center}}
@media (prefers-reduced-motion:reduce){.spt-btn,.spt-pitem img,.spt-price{transition:none}}
