/* 3.0.4: scoped corrections. Header, hero, navigation, colors and Core remain unchanged. */
/* Uniform card CTAs, including the WhatsApp shortcode (not the floating control). */
.spk-card-actions > .elementor-widget-wrap > .spk-card-action { width:100%; flex:0 0 auto; }
.spk-card-actions .spk-card-action .elementor-button-wrapper,
.spk-card-actions .spk-card-action .elementor-shortcode,
.spk-card-actions .spk-card-action .elementor-widget-container { width:100%; }
.spk-card-actions .spk-card-action .elementor-button,
.spk-card-actions .spk-card-action .spk-button {
 display:flex; align-items:center; justify-content:center; width:100%; max-width:100%;
 min-height:var(--spk-cta-height,64px); box-sizing:border-box; padding:12px 18px;
 font-family:var(--spk-font); font-size:15px; font-weight:700; line-height:1.45;
 text-align:center; white-space:normal; margin:0; border-radius:10px; border:1px solid transparent;
}
.spk-card-actions .spk-card-action { margin-bottom:16px; }
.spk-card-actions .spk-card-action:last-child { margin-bottom:0; }
.spk-card-actions .spk-card-action .elementor-button-content-wrapper { align-items:center; }
.spk-card-actions .spk-card-action .spk-whatsapp-icon { flex-shrink:0; }
/* Three equal columns: the old unsupported 34% class cannot take the whole row. */
.elementor-section.spk-plan-cards > .elementor-container {
 display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr));
 gap:24px; width:100%; max-width:1248px; align-items:stretch;
}
.elementor-section.spk-plan-cards > .elementor-container > .elementor-column {
 width:100% !important; max-width:100%; min-width:0; flex:none;
}
.spk-plan-cards > .elementor-container > .elementor-column > .elementor-widget-wrap {
 width:100%; padding:30px 28px; display:flex; flex-direction:column;
 flex-wrap:nowrap; align-content:initial; height:100%; box-sizing:border-box;
}
.spk-plan-cards .elementor-widget-heading { min-height:62px; }
.spk-plan-cards .elementor-widget-heading h3 { font-size:26px; line-height:1.18; text-wrap:balance; }
.spk-plan-cards .elementor-widget-text-editor { min-width:0; }
.spk-plan-cards .elementor-widget-text-editor p { font-size:16px; line-height:1.65; }
.spk-plan-cards .spk-card-action.elementor-widget-button { margin-top:auto; }
.spk-contract-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
/* Photograph and text get deliberate proportions without stretching either column. */
.elementor-section.spk-discovery-section > .elementor-container {
 display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
 gap:clamp(28px,4vw,56px); max-width:1248px; align-items:center;
}
.elementor-section.spk-discovery-section > .elementor-container > .elementor-column {
 width:100% !important; min-width:0; flex:none;
}
.spk-discovery-section .elementor-heading-title { max-width:22ch; font-size:clamp(30px,3vw,42px); line-height:1.16; }
.spk-discovery-section .elementor-widget-text-editor p { max-width:56ch; }
.spk-premium-image { text-align:center; }
.spk-editorial-image.spk-premium-image img {
 display:block; width:100%; height:auto; max-width:100%; max-height:none;
 aspect-ratio:auto; object-fit:contain; object-position:center; opacity:1;
 filter:none; transform:none; border-radius:0;
}
/* Do not show an empty heading, an internal instruction, or empty vertical space. */
body.spk-no-published-cases:not(.elementor-editor-active) #cases,
body.spk-no-published-cases:not(.elementor-editor-active) .spk-cases-section { display:none !important; }
@media(max-width:1023px) {
 .elementor-section.spk-plan-cards > .elementor-container,.spk-contract-grid { grid-template-columns:minmax(0,1fr); }
 .spk-plan-cards .elementor-widget-heading { min-height:0; }
 .spk-plan-cards > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:28px; }
}
@media(max-width:767px) {
 .elementor-section.spk-discovery-section > .elementor-container { grid-template-columns:minmax(0,1fr); gap:28px; }
 .spk-plan-cards > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:24px; }
 .spk-discovery-section .elementor-heading-title { max-width:none; font-size:30px; }
 .spk-card-actions .spk-card-action .elementor-button,.spk-card-actions .spk-card-action .spk-button { padding-inline:14px; }
}


/* 3.3.3 — Sistema visual institucional Sparking
   Fora do blog, imagens seguem a mesma linguagem: fundo blush, forma taupe,
   aro laranja e fotografia premium com grande respiro. */
.spk-signature-visual-context .spk-signature-visual{
 position:relative;isolation:isolate;display:grid;place-items:center;min-height:clamp(300px,38vw,560px);
 overflow:hidden;background:#FFF5F5;border-radius:0;padding:clamp(24px,4vw,54px);
}
.spk-signature-visual-context .spk-signature-visual:before,
.spk-signature-visual-context .spk-signature-visual:after{content:"";position:absolute;pointer-events:none;z-index:0;border-radius:50%}
.spk-signature-visual-context .spk-signature-visual:before{width:43%;aspect-ratio:1;left:9%;top:32%;background:#A68F78}
.spk-signature-visual-context .spk-signature-visual:after{width:48%;aspect-ratio:1;left:8%;top:10%;border:2px solid #E62F03;background:transparent}
.spk-signature-visual-context .spk-signature-visual img{
 position:relative;z-index:2;display:block;width:min(76%,540px)!important;height:auto!important;aspect-ratio:1!important;
 margin-left:16%;object-fit:cover!important;object-position:center;border-radius:50%!important;
 box-shadow:0 22px 42px rgba(108,78,60,.16);background:#FFF5F5;
}
/* Assets já produzidos na linguagem Sparking não recebem uma segunda moldura. */
.spk-editorial-image.spk-premium-image img,.spk-editorial-image.spk-hero-art img{border-radius:0!important;box-shadow:none!important}

/* Cases: qualquer foto enviada pela equipe recebe a gramática visual automaticamente. */
.spk-signature-visual-context .spk-case-media,
.post-type-archive-sf_case .spk-archive-image{
 position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/3;background:#FFF5F5;
}
.spk-signature-visual-context .spk-case-media:before,
.post-type-archive-sf_case .spk-archive-image:before{
 content:"";position:absolute;z-index:0;width:42%;aspect-ratio:1;border-radius:50%;left:8%;top:35%;background:#A68F78;
}
.spk-signature-visual-context .spk-case-media:after,
.post-type-archive-sf_case .spk-archive-image:after{
 content:"";position:absolute;z-index:0;width:47%;aspect-ratio:1;border-radius:50%;left:8%;top:10%;border:1.5px solid #E62F03;
}
.spk-signature-visual-context .spk-case-media img,
.post-type-archive-sf_case .spk-archive-image img{
 position:absolute;z-index:2;right:5%;top:8%;width:69%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;
 box-shadow:0 15px 30px rgba(108,78,60,.14);
}
/* O fallback premium já contém os elementos gráficos; não aplicar novamente. */
.spk-signature-visual-context .spk-case-media img[src*="premium-case"],
.post-type-archive-sf_case .spk-archive-image img[src*="premium-case"]{
 inset:0;position:relative;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none;
}
.spk-case-media-signature:before,.spk-case-media-signature:after{display:none!important}

/* Capa do case: mantém impacto editorial sem copiar a composição do blog. */
.single-sf_case .spk-case-cover-visual{
 position:relative;isolation:isolate;overflow:hidden;min-height:clamp(430px,58vw,720px);background:#FFF5F5;border-radius:0;
}
.single-sf_case .spk-case-cover-visual:before{content:"";position:absolute;z-index:0;width:35%;aspect-ratio:1;border-radius:50%;left:10%;top:34%;background:#A68F78}
.single-sf_case .spk-case-cover-visual:after{content:"";position:absolute;z-index:0;width:40%;aspect-ratio:1;border-radius:50%;left:10%;top:8%;border:2px solid #E62F03}
.single-sf_case .spk-case-cover-visual img{position:absolute;z-index:2;right:8%;top:7%;width:min(62%,670px);height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;box-shadow:0 24px 46px rgba(108,78,60,.16)}
.single-sf_case .spk-case-cover-visual img[src*="premium-case"]{inset:0;position:relative;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none}
.single-sf_case .spk-case-cover-signature:before,.single-sf_case .spk-case-cover-signature:after{display:none}

@media(max-width:767px){
 .spk-signature-visual-context .spk-signature-visual{min-height:320px;padding:22px}
 .spk-signature-visual-context .spk-signature-visual img{width:76%!important;margin-left:14%}
 .single-sf_case .spk-case-cover-visual{min-height:390px;width:calc(100% - 32px)}
 .single-sf_case .spk-case-cover-visual img{right:4%;width:76%;top:11%}
 .single-sf_case .spk-case-cover-visual:before{width:47%;left:5%;top:38%}
 .single-sf_case .spk-case-cover-visual:after{width:54%;left:5%;top:10%}
}


/* 3.3.4 · Newsletter editorial + controles modernos */
.spk-blog-subscribe{padding:48px 0;background:#fffafa;border-block:1px solid #eadfd9}.spk-blog-subscribe-inner,.spk-article-subscribe{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}.spk-blog-subscribe h2,.spk-article-subscribe h2{max-width:620px}.spk-newsletter-form{display:grid;gap:14px;padding:24px;border:1px solid #e5d7d0;border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(66,38,27,.045)}.spk-newsletter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.spk-newsletter-fields label{display:grid;gap:6px;color:#786554;font-size:11px;font-weight:800;letter-spacing:.02em}.spk-newsletter-fields input{width:100%;min-height:52px!important;margin:0!important;padding:12px 14px!important;border:1px solid #d8cbc4!important;border-radius:12px!important;background:#fffefe!important;color:#786554!important;box-shadow:none!important}.spk-newsletter-fields input:focus{outline:0!important;border-color:#e62f03!important;box-shadow:0 0 0 3px rgba(230,47,3,.11)!important}.spk-newsletter-submit{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.spk-newsletter-submit small{max-width:250px;color:#9a877c;font-size:11px;line-height:1.45}.spk-newsletter-form .spk-consent{margin-top:2px}.spk-newsletter-form.is-compact{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:11px}.spk-newsletter-form.is-compact .spk-newsletter-fields{grid-template-columns:1fr}.spk-newsletter-form.is-compact .spk-newsletter-fields label span{display:none}.spk-newsletter-form.is-compact .spk-consent{font-size:11px!important}.spk-newsletter-form.is-compact .spk-newsletter-submit{display:grid;gap:6px}.spk-newsletter-form.is-compact .spk-newsletter-submit .spk-button{width:100%;justify-content:center}.spk-newsletter-public-notice{margin-top:22px;padding:14px 18px;border:1px solid #d8c9c1;border-radius:12px;background:#fff;color:#6f5c52}.spk-newsletter-public-notice.is-confirmed{border-color:#b9d3c1;background:#f4fbf6}.spk-article-subscribe{margin-top:58px;margin-bottom:38px;padding:34px;border:1px solid #e5d8d1;border-radius:22px;background:#fff5f5}.spk-aside-newsletter .spk-newsletter-form{margin-top:16px}.spk-aside-newsletter .spk-newsletter-fields input{min-height:46px!important;font-size:13px!important}
/* Selects: same SaaS language as inputs, no legacy browser arrow. */
.spk-form select,.spk-whatsapp-grid select,.spk-diagnosis-form select{appearance:none;-webkit-appearance:none;background-color:#fffefe!important;background-image:linear-gradient(45deg,transparent 50%,#8a705f 50%),linear-gradient(135deg,#8a705f 50%,transparent 50%)!important;background-position:calc(100% - 19px) calc(50% - 2px),calc(100% - 14px) calc(50% - 2px)!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;padding-right:42px!important;border-radius:12px!important;min-height:52px!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.spk-form select:hover,.spk-whatsapp-grid select:hover,.spk-diagnosis-form select:hover{border-color:#c9b5aa!important}.spk-form select:focus,.spk-whatsapp-grid select:focus,.spk-diagnosis-form select:focus{border-color:#e62f03!important;box-shadow:0 0 0 3px rgba(230,47,3,.11)!important;outline:0!important}
@media(max-width:767px){.spk-blog-subscribe-inner,.spk-article-subscribe{grid-template-columns:1fr;gap:24px}.spk-newsletter-fields{grid-template-columns:1fr}.spk-newsletter-form{padding:18px}.spk-article-subscribe{padding:24px;margin-top:38px}.spk-newsletter-submit{display:grid}.spk-newsletter-submit .spk-button{width:100%;justify-content:center}}

/* 3.4.0 · header desktop balance + Mario editorial density */
@media(min-width:1100px){
 .spk-header .spk-container{width:min(calc(100% - 72px),1680px);max-width:1680px}
 .spk-header-inner{justify-content:flex-start;gap:34px}
 .spk-header-inner .spk-nav{flex:1 1 auto;min-width:0}
 .spk-header-inner .spk-nav-list{margin-left:auto}
 .spk-header-inner .spk-nav-cta{margin-left:auto;flex:0 0 auto}
 .spk-global-header>.elementor-container,.spk-global-header .elementor-container{width:min(calc(100% - 72px),1680px)!important;max-width:1680px!important;margin-inline:auto!important}
 .spk-global-header .elementor-column:nth-child(1){flex:0 0 16%!important;width:16%!important}
 .spk-global-header .elementor-column:nth-child(2){flex:1 1 auto!important;width:auto!important;min-width:0}
 .spk-global-header .elementor-column:nth-child(3){flex:0 0 auto!important;width:auto!important;min-width:max-content;margin-left:auto}
 .spk-global-header .elementor-column:nth-child(3)>.elementor-widget-wrap{justify-content:flex-end!important}
 .spk-global-header .elementor-column:nth-child(3) .elementor-widget-button,.spk-global-header .elementor-column:nth-child(3) .elementor-button-wrapper{text-align:right!important;justify-content:flex-end!important;width:auto!important}
 .spk-global-header .spk-elementor-menu{width:100%;justify-content:center}
}
.spk-mario-hero>.elementor-container{align-items:center!important;gap:clamp(34px,4vw,64px)}
.spk-mario-hero .elementor-widget-heading h1{max-width:760px}
.spk-mario-intro{max-width:790px}
.spk-mario-intro p{font-size:clamp(17px,1.25vw,20px);line-height:1.66;margin-bottom:16px}
.spk-mario-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}
.spk-mario-stats>div{display:grid;align-content:start;gap:6px;min-height:118px;padding:18px 18px 16px;border:1px solid #dfd0c8;border-radius:16px;background:rgba(255,255,255,.7)}
.spk-mario-stats strong{font-size:clamp(22px,2vw,30px);line-height:1.05;letter-spacing:-.035em;color:#8A705F}
.spk-mario-stats span{font-size:12px;line-height:1.45;color:#786554}
.spk-mario-depth>.elementor-container{align-items:flex-start!important;gap:clamp(34px,5vw,72px)}
.spk-mario-depth .elementor-column:nth-child(2) .elementor-widget-text-editor{max-width:800px}
.spk-mario-depth .elementor-widget-text-editor p{font-size:17px;line-height:1.75;margin-bottom:22px}
@media(max-width:1099px){
 .spk-mario-stats{grid-template-columns:1fr 1fr}
 .spk-mario-stats>div:last-child{grid-column:1/-1}
}
@media(max-width:767px){
 .spk-mario-hero>.elementor-container,.spk-mario-depth>.elementor-container{gap:26px}
 .spk-mario-stats{grid-template-columns:1fr;margin-top:24px}
 .spk-mario-stats>div:last-child{grid-column:auto}
 .spk-mario-stats>div{min-height:0}
 .spk-mario-depth .elementor-widget-text-editor p{font-size:16px;line-height:1.7}
}

/* 3.4.2 · Editorial pre-cards — true inner gutter with edge-to-edge image */
.spk-archive-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:clamp(22px,2vw,30px);
 align-items:stretch;
 width:100%;
}
.spk-archive-card{
 --spk-card-gutter:clamp(26px,2vw,32px);
 min-width:0;
 overflow:hidden;
 border:1px solid var(--spk-line);
 border-radius:18px;
 background:var(--spk-paper);
 transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.spk-archive-card:hover{
 transform:translateY(-2px);
 border-color:#d9bdb1;
 box-shadow:0 14px 34px rgba(96,60,43,.065);
}
/* Padding belongs to the card body itself. This is more robust than per-element margins
   and prevents Elementor/browser styles from pulling copy back to the grid edge. */
.spk-archive-card>a{
 display:flex!important;
 flex-direction:column!important;
 height:100%;
 min-width:0;
 padding:0 var(--spk-card-gutter) 28px!important;
 text-decoration:none;
}
/* Keep the media truly edge-to-edge while the editorial copy keeps its own gutter. */
.spk-archive-card .spk-archive-image{
 width:calc(100% + var(--spk-card-gutter) + var(--spk-card-gutter));
 max-width:none;
 margin-top:0!important;
 margin-right:calc(0px - var(--spk-card-gutter))!important;
 margin-bottom:24px!important;
 margin-left:calc(0px - var(--spk-card-gutter))!important;
 overflow:hidden;
 aspect-ratio:16/10;
 background:#f6ebe7;
}
.spk-archive-card .spk-archive-image img{
 display:block;
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center;
}
/* All copy aligns to one editorial column inside the pre-card. */
.spk-archive-card>a>.spk-kicker,
.spk-archive-card>a>h2,
.spk-archive-card>a>h3,
.spk-archive-card>a>p,
.spk-archive-card>a>.spk-text-link{
 margin-left:0!important;
 margin-right:0!important;
 max-width:100%;
}
.spk-archive-card>a>.spk-kicker{
 margin-top:0!important;
 margin-bottom:14px!important;
}
.spk-archive-card>a>h2,
.spk-archive-card>a>h3{
 margin-top:0!important;
 margin-bottom:18px!important;
}
.spk-archive-card>a>p{
 margin-top:0!important;
 margin-bottom:24px!important;
 line-height:1.66;
}
.spk-archive-card>a>.spk-text-link{
 margin-top:auto!important;
 margin-bottom:0!important;
 align-self:flex-start;
}
.spk-home-blog-grid{margin-top:34px}
@media(max-width:1023px){
 .spk-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .spk-archive-card{--spk-card-gutter:26px}
}
@media(max-width:680px){
 .spk-archive-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .spk-archive-card{--spk-card-gutter:22px}
 .spk-archive-card>a{padding-bottom:24px!important}
 .spk-archive-card .spk-archive-image{margin-bottom:20px!important}
}

