/* service-style.css */
.services-premium-template { font-family: 'Poppins', sans-serif; line-height: 1.6; color: #333; }
.hero-services-section { position: relative; height: 100vh; min-height: 600px; background-size: cover; background-position: center; background-attachment: fixed; display: flex; align-items: center; color: white; text-align: center; }
.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.4)); }
.hero-content { position: relative; z-index: 1; }
.hero-title { font-size: 3.5rem; font-weight: 700; margin-bottom: 1rem; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); }
.hero-subtitle { font-size: 1.5rem; margin-bottom: 2rem; font-weight: 300; }
.hero-cta .btn { margin: 0 10px; padding: 12px 30px; border-radius: 50px; font-weight: 600; text-transform: uppercase; transition: all 0.3s ease; }
.hero-cta .btn-primary { background-color: #BF8F3F; border-color: #BF8F3F; color: white; }
.hero-cta .btn-primary:hover { background-color: #A67C2D; border-color: #A67C2D; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); }
.btn-secondary { background-color: transparent; border: 2px solid #fff; color: #fff; }
.btn-secondary:hover { background-color: #fff; color: #333; }
.section-padding { padding: 100px 0; }
.bg-light { background-color: #f8f9fa !important; }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 50px; }
.service-card { background: white; border-radius: 15px; overflow: hidden; transition: all 0.3s ease; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); padding: 30px; text-align: center; }
.service-card p { text-align: center; }
.service-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15); }
.service-icon { font-size: 3rem; color: #BF8F3F; margin-bottom: 20px; }
.service-title { font-size: 1.5rem; margin-bottom: 15px; color: #2c3e50; }
.service-description { color: #7f8c8d; margin-bottom: 20px; }
.service-price { font-size: 1.2rem; font-weight: 700; color: #BF8F3F; margin-bottom: 20px; }
.service-link { color: black; text-decoration: none; font-weight: 600; transition: all 0.3s ease; }
.service-link:hover { color: #2980b9; }

/* --- ALTERAÇÃO FINAL AQUI --- */
.features-grid { 
    display: grid; 
    /* Trocamos 'auto-fill' por uma grelha fixa de 4 colunas com um tamanho máximo */
    grid-template-columns: repeat(4, minmax(0, 270px)); 
    gap: 30px; 
    margin-top: 50px; 
    justify-content: center; /* Esta linha agora vai funcionar corretamente */
}
/* --- FIM DA ALTERAÇÃO --- */

.feature-item { text-align: center; padding: 30px 20px; border-radius: 10px; background: white; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); transition: all 0.3s ease; }
.feature-item p { text-align: center; }
.feature-item:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); }
.feature-icon { font-size: 2.5rem; color: #BF8F3F; margin-bottom: 20px; }
.feature-item h3 { font-size: 1.3rem; margin-bottom: 15px; color: #2c3e50; }
.services-cta { position: relative; background-size: cover; background-position: center; background-attachment: fixed; color: white; text-align: center; padding: 100px 0; }
.cta-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); }
.cta-content { position: relative; z-index: 1; }
.cta-title { font-size: 2.5rem; margin-bottom: 20px; color: white; }
.cta-description { font-size: 1.2rem; margin-bottom: 30px; }
.cta-buttons .btn { margin: 0 10px 10px 0; padding: 12px 25px; border-radius: 50px; font-weight: 600; transition: all 0.3s ease; }
.cta-buttons .btn:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); }
.btn-light { background-color: #fff; color: #333; border: none; }
.btn-success { background-color: #28a745; border-color: #28a745; color: #fff; }
.btn-outline-light { background-color: transparent; border: 2px solid #fff; color: #fff; }
.btn-outline-light:hover { background-color: #fff; color: #333; }
#schedule-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: 1000; display: none; justify-content: center; align-items: center; backdrop-filter: blur(5px); }
#schedule-modal-content { background: white; padding: 40px; border-radius: 15px; width: 90%; max-width: 550px; position: relative; box-shadow: 0 10px 30px rgba(0,0,0,0.2); animation: fadeIn 0.3s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } }
#close-modal { position: absolute; top: 15px; right: 20px; font-size: 2rem; color: #aaa; cursor: pointer; transition: color 0.3s ease; }
#close-modal:hover { color: #333; }
#schedule-modal-content h2 { font-size: 2rem; color: #2c3e50; margin-bottom: 10px; text-align: center; }
#schedule-modal-content p { text-align: center; color: #7f8c8d; margin-bottom: 30px; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #333; }
.form-group input, .form-group select { width: 100%; padding: 12px 15px; border: 1px solid #ccc; border-radius: 8px; font-family: 'Poppins', sans-serif; font-size: 1rem; transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.form-group input:focus, .form-group select:focus { outline: none; border-color: #BF8F3F; box-shadow: 0 0 0 3px rgba(191, 143, 63, 0.2); }
#schedule-form button[type="submit"] { display: block; width: 100%; padding: 15px; border: none; border-radius: 50px; background-color: #BF8F3F; color: white; font-size: 1.1rem; font-weight: 600; text-transform: uppercase; cursor: pointer; transition: all 0.3s ease; }
#schedule-form button[type="submit"]:hover { background-color: #A67C2D; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); }
#form-status { margin-top: 20px; text-align: center; font-weight: 600; }
.container { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
@media (min-width: 576px) { .container { max-width: 540px; } }
@media (min-width: 768px) { .container { max-width: 720px; } }
@media (min-width: 992px) { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }
.row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
.col-lg-6 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; }
@media (min-width: 992px) { .col-lg-6 { flex: 0 0 50%; max-width: 50%; } }
.section-header { text-align: center; margin-bottom: 50px; }
.section-title { font-size: 2.5rem; margin-bottom: 1rem; color: #2c3e50; }
.section-description { font-size: 1.2rem; color: #7f8c8d; }
.img-fluid { max-width: 100%; height: auto; }
.rounded { border-radius: 0.25rem !important; }
@media (max-width: 768px) {
    .hero-title { font-size: 2.5rem; }
    .hero-subtitle { font-size: 1.2rem; }
    /* Para mobile, a grelha de serviços e de funcionalidades volta a ter 1 coluna */
    .services-grid { grid-template-columns: 1fr; }
    .features-grid { grid-template-columns: 1fr; } /* Garante que os 4 itens também fiquem numa coluna só */
    .hero-cta .btn { margin-bottom: 10px; display: block; width: 80%; margin-left: auto; margin-right: auto; }
    .cta-buttons .btn { display: block; width: 100%; margin: 0 auto 10px; }
    .hero-services-section, .services-cta { background-attachment: scroll; }
}