:root{--custom-blue:#000000;--form-bg-gray:#f3f4f6;--text-color:#374151}
.entete{text-align:center;padding:2.5rem 2rem;width:100%;margin:2rem auto;border-bottom:2px solid #e2e8f0}
.devis-title{color:var(--custom-blue);font-size:2.5rem;margin-bottom:1rem;font-weight:600;position:relative;padding-bottom:0.8rem}
.devis-title::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:4px;background:#4299e1;border-radius:2px}
.sstitle{color:#ffffff;font-size:1.2rem;line-height:1.6;font-weight:400}.container{max-width:960px;margin:0 auto;padding:20px}.space-y-6 > * + *{margin-top: 1.5rem}
.grid-2{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media (min-width:768px){.grid-2{grid-template-columns:repeat(2,minmax(0, 1fr))}}
.relative{position:relative}
input[type="text"],input[type="email"],input[type="tel"],select,textarea{width:100%;padding:1rem;background-color:var(--form-bg-gray);color:var(--custom-blue);border:none;border-radius:4px;box-sizing:border-box;font-size:1rem}
select {appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:2.5rem}
.select-arrow{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;padding:0 1rem;color:var(--custom-blue);pointer-events:none;font-size:0.8rem}
textarea{resize:vertical}.flex-footer{display:flex;flex-direction:column;gap:1rem;align-items:center;padding-top:1rem}
@media (min-width:768px){.flex-footer{flex-direction:row;justify-content:space-between}}
.rgpd-label{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.875rem;color:var(--form-bg-gray);cursor:pointer;max-width:576px}.rgpd-label input{margin-top:0.25rem;width:1rem;height:1rem}.rgpd-label a{color:var(--custom-blue);text-decoration:underline;display:inline-flex;align-items:center;gap:0.25rem}
.alert{padding:1rem;margin-bottom:1.5rem;border-radius:4px;font-weight:bold}
.success{background-color:#d1fae5; color:#065f46;border:1px solid #10b981}.error{background-color:#fee2e2; color:#991b1b;border:1px solid #ef4444}
.btn-submit {position: relative;padding: 16px 48px;font-size: 16px;font-weight: 700;text-transform: uppercase;letter-spacing: 1px;color: #ffffff;border: none;border-radius: 50px;cursor: pointer;overflow: hidden;width: auto;background: linear-gradient(180deg, #4facfe 0%, #2f7ed8 45%, #1a5fb4 100%);box-shadow:0 8px 15px rgba(26, 95, 180, 0.5),0 2px 0 rgba(255, 255, 255, 0.4) inset,0 -4px 8px rgba(0, 0, 0, 0.25) inset;transition: all 0.15s ease;}
.btn-submit::before {content: "";position: absolute;top: 0;left: 0;right: 0;height: 50%;background: linear-gradient(180deg,rgba(255, 255, 255, 0.55) 0%,rgba(255, 255, 255, 0.15) 60%,rgba(255, 255, 255, 0) 100%);border-radius: 50px 50px 100px 100px / 50px 50px 60px 60px;pointer-events: none;}
.btn-submit::after {content: "";position: absolute;top: 0;left: -75%;width: 50%;height: 100%;background: linear-gradient(120deg,rgba(255, 255, 255, 0) 0%,rgba(255, 255, 255, 0.5) 50%,rgba(255, 255, 255, 0) 100%);transform: skewX(-20deg);transition: left 0.5s ease;}
.btn-submit:hover::after {left: 125%;}
.btn-submit:hover {transform: translateY(-2px);box-shadow:0 12px 20px rgba(26, 95, 180, 0.6),0 2px 0 rgba(255, 255, 255, 0.5) inset,0 -4px 8px rgba(0, 0, 0, 0.25) inset;}
.btn-submit:active {transform: translateY(1px);box-shadow:0 4px 8px rgba(26, 95, 180, 0.5),0 2px 0 rgba(255, 255, 255, 0.3) inset,0 -4px 8px rgba(0, 0, 0, 0.3) inset;}