.s-p-contato{--primary: #112A5A;--primary-light: #2B5C9D;--accent: #F39C12;--accent-hover: #D68910;--text-dark: #333333;--text-light: #5A6A85;--bg-gray: #F4F6F9;--card-bg: #FFFFFF;--border-color: #E2E8F0;--radius-modern: 6px;--transition-smooth: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1)}
:where(.s-p-contato) *{ margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', sans-serif; }
.s-p-contato{color: var(--text-dark);line-height: 1.6;overflow-x: hidden;background-color: var(--bg-gray);-webkit-font-smoothing: antialiased}
.s-p-contato .hero{
            position: relative;
            height: 350px; 
            background: url('../img/2c67de8ebf244d729766076f2685f694.webp') center/cover no-repeat;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--card-bg);
            text-align: center;
        }
.s-p-contato .hero::before{
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(17, 42, 90, 0.9), rgba(17, 42, 90, 0.6));
        }
.s-p-contato .hero-content{ 
            position: relative; 
            z-index: 2; 
            padding: 0 20px; 
            display: flex;
            flex-direction: column;
            align-items: center;
        }
.s-p-contato .logo-empresa{
            max-height: 60px;
            margin-bottom: 20px;
            display: none;
            filter: brightness(0) invert(1);
        }
.s-p-contato .hero h1{ font-size: 2.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: -0.5px; margin-bottom: 10px; }
.s-p-contato .hero p{ font-size: 1.1rem; font-weight: 500; max-width: 600px; margin: 0 auto; opacity: 0.9; }
.s-p-contato .contact-section{ padding: 60px 5%; max-width: 1200px; margin: -50px auto 50px auto; position: relative; z-index: 5; }
.s-p-contato .contact-grid{ display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; align-items: start; }
.s-p-contato .info-panel{ display: flex; flex-direction: column; gap: 20px; }
.s-p-contato .pitch-box{
            background: var(--primary);
            color: white;
            padding: 30px;
            border-radius: var(--radius-modern);
            box-shadow: 0 10px 30px rgba(17, 42, 90, 0.15);
            border-bottom: 4px solid var(--accent);
        }
.s-p-contato .pitch-box h2{ font-size: 1.5rem; font-weight: 800; margin-bottom: 15px; text-transform: uppercase; letter-spacing: -0.5px;}
.s-p-contato .pitch-box p{ font-size: 0.95rem; color: #D1D5DB; margin-bottom: 20px; line-height: 1.7;}
.s-p-contato .pitch-tags{ display: flex; gap: 10px; flex-wrap: wrap;}
.s-p-contato .p-tag{ background: rgba(255,255,255,0.1); padding: 6px 12px; border-radius: 4px; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;}
.s-p-contato .contact-card{
            background: var(--card-bg);
            padding: 25px;
            border-radius: var(--radius-modern);
            border: 1px solid var(--border-color);
            display: flex;
            align-items: flex-start;
            gap: 20px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.02);
            transition: var(--transition-smooth);
        }
.s-p-contato .contact-card:hover{ border-color: var(--primary-light); transform: translateY(-3px); box-shadow: 0 10px 25px rgba(17, 42, 90, 0.05); }
.s-p-contato .contact-card i{ font-size: 24px; color: var(--accent); margin-top: 5px; width: 30px; text-align: center;}
.s-p-contato .contact-card h4{ font-size: 1.1rem; color: var(--primary); font-weight: 800; margin-bottom: 5px; text-transform: uppercase;}
.s-p-contato .contact-card p,.s-p-contato .contact-card a{ font-size: 0.95rem; color: var(--text-light); font-weight: 500; text-decoration: none; transition: 0.2s;}
.s-p-contato .contact-card a:hover{ color: var(--accent); }
.s-p-contato .email-list{
            display: flex;
            flex-direction: column;
            gap: 7px;
        }
.s-p-contato .email-item{
            display: flex;
            flex-direction: column;
            gap: 1px;
        }
.s-p-contato .email-label{
            font-size: 0.72rem;
            line-height: 1.2;
            color: var(--primary);
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.45px;
        }
.s-p-contato .map-card{
            flex-direction: column !important;
            gap: 15px;
        }
.s-p-contato .map-header{
            display: flex;
            align-items: flex-start;
            gap: 20px;
            width: 100%;
        }
.s-p-contato .btn-mapa{
            display: inline-flex; align-items: center; justify-content: center; gap: 8px;
            width: 100%; padding: 12px; margin-top: 15px;
            background: #F8FAFC; color: var(--primary); font-weight: 700; font-size: 0.95rem;
            border: 1px solid var(--border-color); border-radius: var(--radius-modern);
            text-decoration: none; transition: var(--transition-smooth);
        }
.s-p-contato .btn-mapa:hover{ background: var(--primary); color: white; border-color: var(--primary); }
.s-p-contato .form-panel{
            background: var(--card-bg);
            padding: 40px;
            border-radius: var(--radius-modern);
            border: 1px solid var(--border-color);
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
        }
.s-p-contato .form-panel h3{ font-size: 1.8rem; font-weight: 800; color: var(--primary); margin-bottom: 10px; text-transform: uppercase; letter-spacing: -0.5px;}
.s-p-contato .form-panel > p{ font-size: 0.95rem; color: var(--text-light); margin-bottom: 30px; }
.s-p-contato .form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.s-p-contato .form-group{ display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px;}
.s-p-contato .form-group.full{ grid-column: span 2; }
.s-p-contato .form-group label{ font-size: 0.85rem; font-weight: 700; color: var(--primary); text-transform: uppercase; letter-spacing: 0.5px;}
.s-p-contato .form-control{
            width: 100%; padding: 14px 16px; border: 1px solid #CBD5E1; border-radius: 4px;
            background: #F8FAFC; color: var(--text-dark); font-size: 0.95rem;
            outline: none; transition: var(--transition-smooth);
        }
.s-p-contato .form-control:focus{ border-color: var(--primary); background: #FFFFFF; box-shadow: 0 0 0 3px rgba(17, 42, 90, 0.1); }
.s-p-contato textarea.form-control{ resize: vertical; min-height: 120px; }
.s-p-contato .btn-submit{
            width: 100%; padding: 16px; background: var(--accent); color: white; border: none;
            border-radius: 4px; font-size: 1rem; font-weight: 800; text-transform: uppercase;
            letter-spacing: 1px; cursor: pointer; transition: var(--transition-smooth);
            display: flex; align-items: center; justify-content: center; gap: 10px;
        }
.s-p-contato .btn-submit:hover{ background: var(--accent-hover); box-shadow: 0 8px 20px rgba(243, 156, 18, 0.3); transform: translateY(-2px); }
.s-p-contato .btn-submit:disabled{ opacity: 0.7; cursor: not-allowed; transform: none; box-shadow: none;}
.s-p-contato .success-msg{ display: none; background: #D1FAE5; color: #047857; padding: 15px; border-radius: 4px; border: 1px solid #10B981; margin-bottom: 20px; font-weight: 600; text-align: center; }
@media (max-width: 900px){.s-p-contato .contact-grid{ grid-template-columns: 1fr; gap: 30px; }
.s-p-contato .hero{ height: 300px; }
.s-p-contato .contact-section{ margin-top: -30px; padding: 20px 5%; }
.s-p-contato .form-panel{ padding: 30px 20px; }}
@media (max-width: 600px){.s-p-contato .form-row{ grid-template-columns: 1fr; gap: 0;}
.s-p-contato .form-group.full{ grid-column: span 1; }}
@media (max-width: 900px){.s-p-contato{width: 100%;max-width: 100%;overflow-x: hidden}
.s-p-contato .hero{
                height: auto;
                min-height: 285px;
                padding: 46px 5% 58px;
                background-position: center center;
            }
.s-p-contato .hero-content{
                width: 100%;
                max-width: 660px;
                padding: 0;
            }
.s-p-contato .logo-empresa{
                width: auto;
                max-width: min(78vw, 300px);
                max-height: 52px;
                object-fit: contain;
                margin-bottom: 16px;
            }
.s-p-contato .hero h1{
                max-width: 100%;
                font-size: clamp(1.85rem, 7vw, 2.35rem);
                line-height: 1.08;
                letter-spacing: -0.7px;
                overflow-wrap: anywhere;
            }
.s-p-contato .hero p{
                max-width: 560px;
                font-size: 0.98rem;
                line-height: 1.55;
            }
.s-p-contato .contact-section{
                width: 100%;
                max-width: 760px;
                margin: -28px auto 0;
                padding: 0 16px 44px;
            }
.s-p-contato .contact-grid{
                grid-template-columns: minmax(0, 1fr);
                gap: 22px;
            }
.s-p-contato .info-panel{
                min-width: 0;
                gap: 14px;
            }
.s-p-contato .pitch-box{
                min-width: 0;
                padding: 23px 19px;
                border-radius: 8px;
            }
.s-p-contato .pitch-box h2{
                font-size: 1.28rem;
                line-height: 1.2;
                margin-bottom: 11px;
            }
.s-p-contato .pitch-box p{
                font-size: 0.9rem;
                line-height: 1.62;
                margin-bottom: 16px;
            }
.s-p-contato .pitch-tags{
                gap: 7px;
            }
.s-p-contato .p-tag{
                padding: 6px 9px;
                font-size: 0.68rem;
                line-height: 1.25;
            }
.s-p-contato .contact-card{
                min-width: 0;
                width: 100%;
                padding: 18px 16px;
                gap: 13px;
                border-radius: 8px;
            }
.s-p-contato .contact-card > div,.s-p-contato .map-header > div,.s-p-contato .email-item,.s-p-contato .email-list{
                min-width: 0;
                max-width: 100%;
            }
.s-p-contato .contact-card i{
                flex: 0 0 24px;
                width: 24px;
                font-size: 20px;
                margin-top: 3px;
            }
.s-p-contato .contact-card h4{
                font-size: 0.94rem;
                line-height: 1.25;
                margin-bottom: 4px;
            }
.s-p-contato .contact-card p,.s-p-contato .contact-card a{
                display: block;
                max-width: 100%;
                font-size: 0.88rem;
                line-height: 1.5;
                overflow-wrap: anywhere;
                word-break: break-word;
            }
.s-p-contato .email-label{
                font-size: 0.66rem;
            }
.s-p-contato .map-card{
                padding: 18px 16px;
                gap: 13px;
            }
.s-p-contato .map-header{
                gap: 13px;
            }
.s-p-contato #mapa-iframe{
                display: block;
                width: 100%;
                height: 220px !important;
                min-height: 220px;
            }
.s-p-contato .btn-mapa{
                min-height: 48px;
                padding: 11px 14px;
                margin-top: 12px;
                font-size: 0.88rem;
            }
.s-p-contato .form-panel{
                min-width: 0;
                width: 100%;
                padding: 26px 20px;
                border-radius: 8px;
            }
.s-p-contato .form-panel h3{
                font-size: 1.42rem;
                line-height: 1.16;
                margin-bottom: 8px;
            }
.s-p-contato .form-panel > p{
                font-size: 0.9rem;
                line-height: 1.55;
                margin-bottom: 22px;
            }
.s-p-contato .form-row{
                min-width: 0;
                gap: 14px;
                margin-bottom: 0;
            }
.s-p-contato .form-group{
                min-width: 0;
                gap: 7px;
                margin-bottom: 16px;
            }
.s-p-contato .form-group label{
                font-size: 0.76rem;
                line-height: 1.35;
            }
.s-p-contato .form-control{
                min-width: 0;
                max-width: 100%;
                min-height: 48px;
                padding: 12px 13px;
                font-size: 16px;
                line-height: 1.35;
            }
.s-p-contato select.form-control{
                padding-right: 34px;
            }
.s-p-contato textarea.form-control{
                min-height: 116px;
            }
.s-p-contato .btn-submit{
                min-height: 52px;
                padding: 14px 16px;
                font-size: 0.88rem;
                line-height: 1.25;
                letter-spacing: 0.65px;
            }
.s-p-contato .success-msg{
                padding: 13px;
                font-size: 0.86rem;
                line-height: 1.45;
            }}
@media (max-width: 640px){.s-p-contato .form-row{
                grid-template-columns: minmax(0, 1fr);
                gap: 0;
            }
.s-p-contato .form-group.full{
                grid-column: auto;
            }}
@media (max-width: 420px){.s-p-contato .hero{
                min-height: 260px;
                padding: 38px 18px 52px;
            }
.s-p-contato .hero h1{
                font-size: 1.75rem;
            }
.s-p-contato .hero p{
                font-size: 0.9rem;
            }
.s-p-contato .contact-section{
                padding-left: 12px;
                padding-right: 12px;
            }
.s-p-contato .pitch-box,.s-p-contato .contact-card,.s-p-contato .map-card,.s-p-contato .form-panel{
                padding-left: 15px;
                padding-right: 15px;
            }
.s-p-contato .contact-card{
                gap: 11px;
            }
.s-p-contato #mapa-iframe{
                height: 195px !important;
                min-height: 195px;
            }}
@media (hover: none){.s-p-contato .contact-card:hover,.s-p-contato .btn-submit:hover,.s-p-contato .btn-mapa:hover{
                transform: none;
            }}
/* botao convertido em link: baseline de baixa especificidade (:where) para nao sobrescrever o display/alinhamento do .btn original */
:where(.s-p-contato) a[data-btn]{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-align:center;font-family:inherit}
.s-p-contato .btn-catalog.is-unavailable{cursor:default;pointer-events:none}
/* barra de secoes: no Wix nunca ficava fixa (iframe de altura total); mantem o comportamento atual e evita ficar sob o cabecalho fixo */
.s-p-contato .section-jump-nav{position:relative;top:auto}
/* evita estouro lateral em telas de 320px (item de grade com palavra longa em caixa alta) */
.s-p-contato .cta-text{min-width:0;overflow-wrap:anywhere}
@media (max-width:1100px){.s-p-contato .cta-layout,.s-p-contato .intro-grid,.s-p-contato .segments-layout{grid-template-columns:minmax(0,1fr)}}

.s-p-contato .hero h1.hero-h1{margin:0;font-size:0;line-height:0;letter-spacing:0}
.s-p-contato .map-placeholder{margin-bottom:4px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:12px;line-height:1.4;width:100%;height:200px;border:0;border-radius:var(--radius-modern,8px);background:linear-gradient(135deg,#E8EDF3,#DCE4EE);color:#112A5A}
.s-p-contato .map-placeholder>i{font-size:26px;color:#F39C12;margin-bottom:2px}
.s-p-contato .mp-title{font-size:15px;font-weight:800;margin:0}
.s-p-contato .mp-note{font-size:12.5px;color:#475569;margin:0 0 6px;max-width:300px}
.s-p-contato .mp-load{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 20px;border-radius:8px;background:#F39C12;color:#fff;border:2px solid #F39C12;font:700 13px/1 Inter,sans-serif;cursor:pointer}
.s-p-contato .mp-load:hover{background:#D68910;border-color:#D68910}
.s-p-contato .form-status{margin:12px 0 0;font-size:14px;line-height:1.45;color:#475569}
.s-p-contato .form-status:empty{display:none}
.s-p-contato .form-status[data-kind=error]{color:#B91C1C}
.s-p-contato .form-status[data-kind=success]{color:#15803D;font-weight:600}
