@import url('https://fonts.googleapis.com/css?family=Lato:300,400|Poppins:300,400,500,600,700');

/* --- 1. ESTRUTURA BASE --- */
html, body {
    height: 100%; 
    background-color: #000000 !important; 
    color: #f3f4f6; 
    margin: 0;
    padding: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    padding-top: 60px!important;
}

.floatleft { float: left; }
.floatright { float: right; }
.alignleft { float: left; margin-right: 15px; margin-bottom: 15px; }
.alignright { float: right; margin-left: 15px; margin-bottom: 15px; }
.aligncenter { display: block; margin: 0 auto 15px; }
a:focus { outline: 0; }
img { max-width: 100%; height: auto; }
.fix { overflow: hidden; }
.clear { clear: both; }
ul { list-style: none; margin: 0; padding: 0; }
::selection { background: #4b5563; color: #fff; }

p { margin: 0 0 15px; font-size: 14px; font-weight: 300; line-height: 1.8; color: #a3a3a3; }
h1, h2, h3, h4, h5, h6 { margin: 30px 0; color: #ffffff; font-family: 'Poppins', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
h2 {padding-bottom: 55px !important;}
h2 {padding-top: 20px !important;}
a { transition: all 0.3s ease 0s; text-decoration: none !important; color: #ffffff !important; }
a:hover { color: #d1d5db !important; }

/* --- 2. ESPAÇAMENTOS --- */
.ptb-6 { padding: 6px 0 !important; }
.ptb-80 { padding: 60px 0 !important; } 
.pt-120 { padding-top: 120px !important; } 
.pt-100 { padding-top: 100px !important; } 
.pt-200 { padding-top: 140px !important; } 
.pt-50 { padding-top: 50px !important; } 
.pt-80 { padding-top: 15px !important; } 
.pb-30 { padding-bottom: 30px !important; }
.pb-60 { padding-bottom: 0 !important;} 
.pb-80 { padding-bottom: 80px !important; } 
.pb-100 { padding-bottom: 100px !important; }
.pb-150 { padding-bottom: 120px !important; }
.mb-20 { margin-bottom: 20px !important; } 
.mb-30 { margin-bottom: 30px !important; }
.mt-30 { margin-top: 30px !important; }
.mt-40 { margin-top: 40px !important; } 
.mt-50 { margin-top: 50px !important; } 
.mt-60 { margin-top: 60px !important; }

/* --- 3. HEADER E TOPBAR --- */
.header-fixed { position: fixed; top: 0; left: 0; width: 100%; z-index: 9999; background-color: #000000; border-bottom: 1px solid #1a1a1a; }
.email, .phone { background: #0a0a0a; color: #ffffff; font-size: 12px; padding: 10px 15px; display: inline-block; border: 1px solid #1a1a1a; font-weight: 500; }
.img-representante { max-width: 220px; height: auto; border-radius: 4px; filter: drop-shadow(0 0 5px rgba(255,255,255,0.1)); margin-bottom: 20px; }
.social-icon a { color: #ffffff !important; margin-left: 20px; font-size: 14px; display: inline-block; transition: 0.3s; }
.social-icon a:hover { color: #9ca3af !important; transform: translateY(-2px); }

/* --- 4. MENU PRINCIPAL --- */
.main-menu ul li { display: inline-block; position: relative; margin: 0 2px; }
.main-menu ul li a { color: #ffffff !important; display: block; font-size: 13px; font-weight: 600; padding: 40px 15px; text-transform: uppercase; letter-spacing: 0.5px; }
.main-menu ul li:hover > a { color: #9ca3af !important; }
.main-menu ul li ul { background: #050505; border-top: 2px solid #ffffff; opacity: 0; position: absolute; top: 100%; width: 230px; visibility: hidden; transition: 0.3s; z-index: 999; border: 1px solid #1a1a1a; border-top: 2px solid #ffffff; text-align: left !important; }
.main-menu ul li:hover > ul { visibility: visible; opacity: 1; }
.main-menu ul li ul li { display: block !important; width: 100% !important; margin: 0; }
.main-menu ul li ul li a { padding: 15px 20px !important; border-bottom: 1px solid #111; font-size: 12px; color: #a3a3a3 !important; text-transform: capitalize; display: block !important; width: 100% !important; box-sizing: border-box !important; }
.main-menu ul li ul li a:hover { background: #111 !important; color: #ffffff !important; padding-left: 25px !important; }

/* --- 5. BUSCA --- */
.search-box { position: relative; display: inline-block; margin-left: 20px; vertical-align: middle; }
.search-box input { background: #0a0a0a !important; border: 1px solid #1a1a1a !important; color: #ffffff !important; padding: 8px 15px !important; font-size: 13px !important; transition: 0.3s; border-radius: 0; }
.search-box input:focus { border-color: #ffffff !important; width: 200px; }
.search-box button { background: transparent; border: none; color: #ffffff; cursor: pointer; padding: 5px; }

/* --- 6. SERVIÇOS E BANNERS --- */
.single-service { background: #050505; border: 1px solid #1a1a1a; padding: 15px 0; transition: 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); text-align: center; margin-bottom: 30px; height: 100%; }
.single-service:hover { border-color: #ffffff; transform: translateY(-5px); background: #0a0a0a; box-shadow: 0 20px 40px rgba(0,0,0,0.5); }
.service-icon i { color: #ffffff; font-size: 40px; margin-bottom: 25px; display: block; }
.single-service h3 { font-size: 18px; color: #ffffff; margin-bottom: 15px; }
.single-service p { color: #9ca3af; font-size: 14px; margin: 0; }

.full-width-banner { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; overflow: hidden; }
.banner-title { font-size: 3.5rem !important; text-shadow: 3px 3px 10px rgba(0,0,0,0.9); margin-bottom: 10px; }

.slider-area, .slider-active, .single-slider { height: 84vh !important; min-height: 84vh !important; width: 100% !important; }
.single-slider { background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; display: flex !important; align-items: center !important; }

.owl-item { float: left; }
.owl-nav button { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(144,144,144,0.2) !important; color: #fff !important; width: 50px; height: 50px; font-size: 30px !important; border-radius:10px !important; border:none;}
.owl-prev { left: 20px; }
.owl-next { right: 20px; }

.single-feature { background: #050505 !important; display: flex !important; flex-direction: column !important; height: 100% !important; border: 1px solid transparent !important; transition: 0.3s ease-in-out !important; }
.feature-image img { width: 100% !important; height: auto !important; display: block !important; }
.feature-text h2 { padding: 20px 10px !important; margin: 0 !important; font-size: 26px !important; color: #ffffff !important; min-height: 70px !important; display: flex !important; align-items: center !important; justify-content: center !important; text-transform: uppercase !important; }
.single-feature:hover { transform: translateY(-5px) !important; border-color: #ffffff !important; box-shadow: 0 15px 40px rgba(0,0,0,0.8) !important; }

/* --- 7. PROJETOS --- */
.Project-box { position: relative; overflow: hidden; background: #000; margin-bottom: 30px; }
.Project-image a { position: relative; display: block; }
.Project-image a:before { background: rgba(0, 0, 0, 0.85); position: absolute; content: ""; opacity: 0; left: 15px; right: 15px; top: 15px; bottom: 15px; transform: scale(0.8); transition: 0.4s; border: 1px solid #ffffff; z-index: 1; }
.Project-box:hover .Project-image a:before { opacity: 1; transform: scale(1); }
.Project-content { position: absolute; width: 100%; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; opacity: 0; transition: 0.4s; visibility: hidden; z-index: 2; }
.Project-box:hover .Project-content { opacity: 1; visibility: visible; }
.Project-content h4 a { color: #ffffff !important; font-size: 22px; font-weight: 600; }
.Project-content span { color: #d1d5db; font-size: 14px; text-transform: uppercase; }

/* --- 8. BOTÕES --- */
.btn { background: #ffffff; border: 1px solid #000000; color: #000000 !important; cursor: pointer; display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-align: center; transition: 0.3s; text-transform: uppercase; padding: 12px 22px; margin-top: 25px; border-radius: 0; }
.btn:hover { background-color: transparent; color: #000000 !important; box-shadow: 0 0 15px rgba(255,255,255,0.2); }
.btn-inox { background: linear-gradient(145deg, #e6e6e6, #ffffff); color: #000 !important; padding: 12px 35px; font-weight: 700; text-transform: uppercase; border: none; display: inline-block; letter-spacing: 1px; transition: 0.3s; box-shadow: 0 4px 15px rgba(0,0,0,0.3); margin-top: 20px; border-radius: 7px; }
.btn-inox:hover { background: #d1d5db; color:#000000 !important; transform: scale(1.05); }

/* --- 9. WOOCOMMERCE GRID --- */
.archive .container, .woocommerce-page .container, #content .container { max-width: 1200px !important; margin: 0 auto !important; float: none !important; display: block !important; }
.woocommerce ul.products { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; margin: 0 auto !important; padding: 20px 0 !important; float: none !important; clear: both !important; }
.woocommerce ul.products li.product { background: #050505 !important; border: 1px solid #1a1a1a !important; padding: 15px !important; margin: 10px !important; transition: 0.3s ease-in-out !important; width: calc(25% - 20px) !important; box-sizing: border-box !important; float: none !important; display: inline-block !important; vertical-align: top !important; }
.woocommerce ul.products li.product:hover { border-color: #ffffff !important; transform: translateY(-5px) !important; box-shadow: 0 10px 25px rgba(255, 255, 255, 0.1) !important; }
.woocommerce ul.products li.product img { width: 100% !important; height: auto !important; display: block !important; margin: 0 auto 15px auto !important; }
.woocommerce-loop-product__title, .woocommerce ul.products li.product h3 { text-align: center !important; font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: #ffffff !important; margin: 10px 0 0 0 !important; padding: 0 !important; min-height: 40px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.woocommerce-result-count, .woocommerce-ordering, .row.category-row, ul.products li.product-category { display: none !important; }

/* --- 10. FORMULÁRIOS E COTAÇÃO --- */
input[type="text"]:not(.input-cotacao), input[type="email"]:not(.input-cotacao), textarea:not(.input-cotacao) {font-weight:500; background: #0a0a0a !important; border: 1px solid #1a1a1a !important; color: #ffffff !important; padding: 15px !important; width: 100%; margin-bottom: 0; transition: 0.3s; resize: none !important; border-radius:3px !important; }
input[type="text"]:not(.input-cotacao):focus, input[type="email"]:not(.input-cotacao):focus, textarea:not(.input-cotacao):focus { border-color: #ffffff !important; outline: none; background: #111 !important; }

.footer-form-premium { background-color: #000000 !important; padding: 20px !important; border-radius: 4px !important; margin-top: 15px !important; display: block !important; }
.footer-form-premium p { text-shadow: none !important; color: #ffffff !important; }
.footer-form-premium input.input-cotacao, .footer-form-premium textarea.input-cotacao { border-radius: 3px !important; resize: none !important;background: #0d0d0d !important; border: 1px solid #222222 !important; color: #ffffff !important; padding: 12px 15px !important; margin-bottom: 12px !important; display: block !important; width: 100% !important; box-sizing: border-box !important; }
.footer-form-premium textarea.input-cotacao { min-height: 95px !important; resize: vertical; }
.footer-form-premium input.input-cotacao:focus, .footer-form-premium textarea.input-cotacao:focus { border-color: #ffffff !important; background: #141414 !important; outline: none !important; }
.footer-form-premium .btn-enviar-cotacao { border-radius: 3px !important; background: #ffffff !important; color: #000000 !important; width: 100% !important; margin-top: 10px !important; font-weight: 700 !important; border: none !important; padding: 14px !important; letter-spacing: 2px !important; text-transform: uppercase !important; cursor: pointer !important; transition: 0.3s !important; }
.footer-form-premium .btn-enviar-cotacao:hover { background: #d1d5db !important; transform: scale(1.05); }

/* --- 11. FOOTER E PÁGINA FALE CONOSCO --- */
.footer-bg { background: #000000; border-top: 1px solid #1a1a1a; padding-top: 25px; padding-bottom: 0; }
.widget-title { color: #ffffff; font-size: 18px; font-weight: 600; text-transform: uppercase; margin-bottom: 35px; position: relative; }
.widget-title::after { content: ""; display: block; width: 30px; height: 2px; background: #ffffff; margin-top: 10px; }
.footer-menu li a { color: #a3a3a3 !important; font-size: 14px; line-height: 2.8; transition: 0.3s; }
.footer-menu li a:hover { color: #ffffff !important; padding-left: 8px; }
.copyright-area { background: #000; border-top: 1px solid #111; padding: 30px 0; }
.copyright-text p { color: #4b5563; font-size: 13px; letter-spacing: 0.5px; }

.representante-card { background: #0a0a0a; border: 1px solid #1a1a1a; padding: 40px; border-radius: 4px; transition: 0.3s; position: relative; overflow: hidden; }
.representante-card:hover { border-color: #ff4500; box-shadow: 0 0 20px rgba(255, 69, 0, 0.2); }
.titulo-premium { color: #ffffff !important; font-size: 28px !important; letter-spacing: 2px; margin-bottom: 5px !important; }
.subtitulo-premium { color: #7a7a7a !important; font-weight: 700; text-transform: uppercase; font-size: 14px; margin-bottom: 25px; }
.info-representante p { color: #d1d5db !important; font-size: 16px !important; margin-bottom: 12px !important; }
.info-representante i { color: #7a7a7a; margin-right: 10px; width: 20px; }
.contact-form button { background: #ffffff !important; color: #000 !important; font-weight: bold; letter-spacing: 1px; border: none; border-radius:3px; padding: 15px 40px; transition: 0.3s; }
.contact-form button:hover { background: #d1d5db !important; transform: scale(1.02); }

/* --- 12. RESPONSIVIDADE --- */
@media (max-width: 991px) {
    .main-menu ul li a { padding: 30px 10px; font-size: 12px; }
}

@media (max-width: 768px) {
    .header-fixed { position: relative; }
    .ptb-80 { padding: 50px 0 !important; }
    .single-service { margin-bottom: 20px; }
    .banner-title { font-size: 2rem !important; }
    .single-slider { height: 400px !important; }
    .woocommerce ul.products li.product { width: calc(50% - 14px) !important; margin: 7px !important; padding: 10px !important; }
    .woocommerce-loop-product__title { font-size: 11px !important; }
}