/* === CSS CONSOLIDATO === */
/* bl-08: H2 */
.mk-heading-h2 {
font-family: var(--font-display, 'Prompt', system-ui, sans-serif) !important;
font-size: var(--text-h2, clamp(1.375rem, 3.5vw, 2rem)) !important;
font-weight: 600 !important;
line-height: 1.2 !important;
color: var(--accent-navy, #275388) !important;
letter-spacing: -0.02em !important;
margin-top: var(--space-2xl, 48px);
margin-bottom: var(--space-lg, 24px);
position: relative;
padding-top: 20px;
max-width: 680px;
}
.mk-heading-h2::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 32px;
height: 3px;
background: var(--accent-lime, #DCF763);
border-radius: 2px;
}
/* bl-09: H3 */
.mk-heading-h3 {
font-family: var(--font-display, 'Prompt', system-ui, sans-serif) !important;
font-size: var(--text-h3, clamp(1.125rem, 2.5vw, 1.5rem)) !important;
font-weight: 600 !important;
line-height: 1.3 !important;
color: var(--text-primary, #1A1A2E) !important;
letter-spacing: -0.01em !important;
margin-top: var(--space-xl, 32px);
margin-bottom: var(--space-md, 16px);
max-width: 680px;
}
/* bl-07: Body Text */
.mk-body-text {
font-family: var(--font-primary, 'Prompt', system-ui, sans-serif);
font-size: var(--text-body, clamp(1rem, 2vw, 1.125rem));
font-weight: 400;
line-height: 1.8;
color: var(--text-primary, #1A1A2E);
margin-bottom: 1.5em;
max-width: 680px;
}
.mk-body-text a {
color: var(--accent-navy, #275388) !important;
text-decoration: underline;
text-decoration-color: transparent;
text-underline-offset: 3px;
transition: text-decoration-color 0.2s ease;
}
.mk-body-text a:hover { text-decoration-color: currentColor; }
.mk-body-text strong { font-weight: 600; color: var(--text-primary, #1A1A2E); }
.mk-body-text em { font-style: italic; }
/* bl-13: Bullet List */
.mk-bullet-list {
font-family: var(--font-primary, 'Prompt', system-ui, sans-serif);
font-size: var(--text-body, clamp(1rem, 2vw, 1.125rem));
font-weight: 400;
line-height: 1.7;
color: var(--text-primary, #1A1A2E);
list-style: none;
padding-left: 24px;
margin: var(--space-lg, 24px) 0;
max-width: 680px;
}
.mk-bullet-list li { position: relative; padding-left: 20px; margin-bottom: 8px; }
.mk-bullet-list li:last-child { margin-bottom: 0; }
.mk-bullet-list li::before {
content: "";
position: absolute;
left: 0;
top: 0.65em;
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--accent-lime, #DCF763);
box-shadow: 0 0 4px rgba(220, 247, 99, 0.3);
}
.mk-bullet-list a {
color: var(--accent-navy, #275388);
text-decoration: underline;
text-decoration-color: transparent;
text-underline-offset: 3px;
transition: text-decoration-color 0.2s ease;
}
.mk-bullet-list a:hover { text-decoration-color: currentColor; }
.mk-bullet-list strong { font-weight: 600; }
/* bl-14: Numbered List */
.mk-numbered-list {
font-family: var(--font-primary, 'Prompt', system-ui, sans-serif);
font-size: var(--text-body, clamp(1rem, 2vw, 1.125rem));
font-weight: 400;
line-height: 1.7;
color: var(--text-primary, #1A1A2E);
list-style: none;
padding-left: 24px;
margin: var(--space-lg, 24px) 0;
max-width: 680px;
counter-reset: mk-list-counter;
}
.mk-numbered-list li { position: relative; padding-left: 28px; margin-bottom: 8px; counter-increment: mk-list-counter; }
.mk-numbered-list li:last-child { margin-bottom: 0; }
.mk-numbered-list li::before {
content: counter(mk-list-counter) ".";
position: absolute;
left: 0;
top: 0;
font-family: var(--font-primary, 'Prompt', system-ui, sans-serif);
font-weight: 700;
color: var(--accent-navy, #275388);
font-size: inherit;
line-height: inherit;
}
.mk-numbered-list a {
color: var(--accent-navy, #275388);
text-decoration: underline;
text-decoration-color: transparent;
text-underline-offset: 3px;
transition: text-decoration-color 0.2s ease;
}
.mk-numbered-list a:hover { text-decoration-color: currentColor; }
.mk-numbered-list strong { font-weight: 600; }
/* bl-11: Callout */
.mk-callout {
position: relative;
margin: var(--space-xl, 32px) 0;
padding: 20px 24px;
max-width: var(--content-max, 780px);
background: var(--glass-bg, rgba(255, 255, 255, 0.72));
backdrop-filter: var(--glass-blur-subtle, blur(8px));
-webkit-backdrop-filter: var(--glass-blur-subtle, blur(8px));
border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.45));
border-radius: var(--radius-md, 12px);
box-shadow: var(--glass-shadow, 0 8px 32px rgba(0, 0, 0, 0.08));
border-left: 3px solid transparent;
}
.mk-callout--tip { border-left-color: var(--accent-lime, #DCF763); background: rgba(220, 247, 99, 0.06); }
.mk-callout--tip .mk-callout__icon { color: var(--accent-lime, #DCF763); filter: drop-shadow(0 0 4px rgba(220, 247, 99, 0.3)); }
.mk-callout--tip .mk-callout__title { color: #6B7A1A; }
.mk-callout--warning { border-left-color: #F59E0B; background: rgba(245, 158, 11, 0.05); }
.mk-callout--warning .mk-callout__icon { color: #F59E0B; }
.mk-callout--warning .mk-callout__title { color: #92400E; }
.mk-callout--info { border-left-color: var(--accent-navy, #275388); background: rgba(39, 83, 136, 0.05); }
.mk-callout--info .mk-callout__icon { color: var(--accent-navy, #275388); }
.mk-callout--info .mk-callout__title { color: var(--accent-navy, #275388); }
.mk-callout__header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.mk-callout__icon { flex-shrink: 0; width: 24px; height: 24px; }
.mk-callout__icon svg { width: 100%; height: 100%; display: block; }
.mk-callout__title { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: var(--text-small, 0.875rem); font-weight: 600; line-height: 1.3; }
.mk-callout__body { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: var(--text-body, clamp(1rem, 2vw, 1.125rem)); line-height: 1.7; color: var(--text-primary, #1A1A2E); }
.mk-callout__body a { color: var(--accent-navy, #275388); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; transition: text-decoration-color 0.2s ease; }
.mk-callout__body a:hover { text-decoration-color: currentColor; }
@supports not (backdrop-filter: blur(1px)) {
.mk-callout { background: rgba(255, 255, 255, 0.95); border: 1px solid rgba(0, 0, 0, 0.08); }
.mk-callout--tip { background: rgba(220, 247, 99, 0.1); }
.mk-callout--warning { background: rgba(245, 158, 11, 0.08); }
.mk-callout--info { background: rgba(39, 83, 136, 0.08); }
}
/* bl-15: Table */
.mk-table { margin: var(--space-xl, 32px) 0; max-width: var(--content-max, 780px); position: relative; }
.mk-table__wrapper { border-radius: var(--radius-lg, 12px); overflow: hidden; box-shadow: var(--shadow-md, 0 4px 16px rgba(0, 0, 0, 0.08)); border: 1px solid var(--glass-border-subtle, rgba(0, 0, 0, 0.06)); }
.mk-table__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mk-table__scroll::-webkit-scrollbar { height: 4px; }
.mk-table__scroll::-webkit-scrollbar-track { background: var(--bg-page, #F8F9FA); }
.mk-table__scroll::-webkit-scrollbar-thumb { background: rgba(39, 83, 136, 0.3); border-radius: 2px; }
.mk-table__element { width: 100%; min-width: 500px; border-collapse: collapse; font-family: var(--font-primary, 'Prompt', sans-serif); font-size: var(--text-small, 0.875rem); line-height: 1.5; }
.mk-table__element thead tr { background: var(--glass-bg, rgba(255, 255, 255, 0.72)); backdrop-filter: var(--glass-blur-subtle, blur(8px)); -webkit-backdrop-filter: var(--glass-blur-subtle, blur(8px)); }
.mk-table__element th { padding: 12px 16px; font-weight: 600; color: var(--accent-navy, #275388); text-align: left; white-space: nowrap; border-bottom: 2px solid rgba(39, 83, 136, 0.12); }
.mk-table__element tbody tr { transition: background-color var(--transition-fast, 0.15s ease); }
.mk-table__element tbody tr:nth-child(odd) { background: var(--bg-white, #FFFFFF); }
.mk-table__element tbody tr:nth-child(even) { background: var(--bg-page, #F8F9FA); }
.mk-table__element tbody tr:hover { background: rgba(220, 247, 99, 0.06); }
.mk-table__element td { padding: 12px 16px; color: var(--text-primary, #1A1A2E); border-bottom: 1px solid rgba(0, 0, 0, 0.06); }
.mk-table__element tbody tr:last-child td { border-bottom: none; }
.mk-table__scroll-hint { display: none; font-family: var(--font-primary, 'Prompt', sans-serif); font-size: var(--text-xs, 0.75rem); color: var(--text-secondary, #4A5568); text-align: right; padding: 6px 12px 0; opacity: 0.7; }
.mk-table__scroll-hint::after { content: ' \203A'; font-weight: 700; }
@supports not (backdrop-filter: blur(1px)) { .mk-table__element thead tr { background: rgba(255, 255, 255, 0.95); } }
@media (max-width: 768px) {
.mk-table__scroll-hint { display: block; }
.mk-table__element th { padding: 10px 14px; font-size: 0.8125rem; }
.mk-table__element td { padding: 10px 14px; font-size: 0.8125rem; }
}
/* bl-18: Single Metric */
.mk-single-metric { margin: var(--space-xl, 32px) 0; max-width: var(--content-max, 780px); }
.mk-single-metric__container { background: var(--bg-page, #F8F9FA); border: 1px solid var(--glass-border-subtle, rgba(0, 0, 0, 0.06)); border-radius: var(--radius-lg, 12px); padding: 24px; text-align: center; position: relative; box-shadow: 0 0 20px rgba(220, 247, 99, 0.1), 0 4px 16px rgba(0, 0, 0, 0.06); }
.mk-single-metric__value { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: 2.5rem; font-weight: 700; line-height: 1; letter-spacing: -0.02em; color: var(--accent-lime, #DCF763); text-shadow: 0 0 20px rgba(220, 247, 99, 0.3); }
.mk-single-metric__label { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: var(--text-small, 0.875rem); color: var(--text-secondary, #4A5568); line-height: 1.4; margin-top: 4px; text-align: center; }
@media (max-width: 768px) { .mk-single-metric__container { padding: 20px 16px; } .mk-single-metric__value { font-size: 2rem; } }
/* bl-19: Before/After */
.mk-before-after { margin: var(--space-xl, 32px) 0; max-width: var(--content-max, 780px); }
.mk-before-after__panel { background: var(--glass-bg, rgba(255, 255, 255, 0.72)); backdrop-filter: var(--glass-blur, blur(16px)); -webkit-backdrop-filter: var(--glass-blur, blur(16px)); border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.45)); border-radius: var(--radius-xl, 16px); box-shadow: var(--glass-shadow, 0 8px 32px rgba(0, 0, 0, 0.08)); padding: 32px; position: relative; }
.mk-before-after__columns { display: flex; gap: 24px; align-items: stretch; position: relative; }
.mk-before-after__column { flex: 1; border-radius: var(--radius-lg, 12px); padding: 24px; position: relative; }
.mk-before-after__column--before { background: #F1F5F9; border: 1px solid rgba(0, 0, 0, 0.1); }
.mk-before-after__column--after { background: rgba(220, 247, 99, 0.08); border: 1px solid rgba(220, 247, 99, 0.3); }
.mk-before-after__header { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.mk-before-after__column--before .mk-before-after__header { color: var(--text-secondary, #4A5568); }
.mk-before-after__column--after .mk-before-after__header { color: #4A7A10; }
.mk-before-after__header-icon { width: 18px; height: 18px; flex-shrink: 0; }
.mk-before-after__list { list-style: none; padding: 0; margin: 0; }
.mk-before-after__list li { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: var(--text-body, clamp(1rem, 2vw, 1.125rem)); line-height: 1.7; color: var(--text-primary, #1A1A2E); padding: 8px 0; padding-left: 20px; position: relative; }
.mk-before-after__column--before .mk-before-after__list li::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 8px; height: 2px; background: var(--text-secondary, #4A5568); border-radius: 1px; }
.mk-before-after__column--after .mk-before-after__list li::before { content: ""; position: absolute; left: 2px; top: 50%; transform: translateY(-50%); width: 6px; height: 6px; background: var(--accent-lime, #DCF763); border-radius: 50%; box-shadow: 0 0 6px rgba(220, 247, 99, 0.4); }
.mk-before-after__arrow { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 36px; height: 36px; background: var(--bg-white, #FFFFFF); border: 1px solid var(--glass-border-subtle, rgba(0, 0, 0, 0.06)); border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 2; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }
.mk-before-after__arrow-icon { width: 16px; height: 16px; color: var(--accent-navy, #275388); }
.mk-before-after__arrow--mobile { display: none; }
@supports not (backdrop-filter: blur(1px)) { .mk-before-after__panel { background: rgba(255, 255, 255, 0.95); } }
@media (max-width: 768px) {
.mk-before-after__panel { padding: 20px; }
.mk-before-after__columns { flex-direction: column; gap: 16px; }
.mk-before-after__column { padding: 20px; }
.mk-before-after__arrow--desktop { display: none; }
.mk-before-after__arrow--mobile { display: flex; position: relative; top: auto; left: auto; transform: none; margin: -8px auto; width: 32px; height: 32px; }
}
/* bl-17: Metrics Dashboard */
.mk-metrics-dashboard { margin: var(--space-2xl, 48px) 0; max-width: var(--content-max, 780px); }
.mk-metrics-dashboard__panel { background: var(--glass-bg, rgba(255, 255, 255, 0.72)); backdrop-filter: var(--glass-blur, blur(16px)); -webkit-backdrop-filter: var(--glass-blur, blur(16px)); border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.45)); border-radius: var(--radius-xl, 16px); box-shadow: var(--glass-shadow-elevated, 0 16px 48px rgba(0, 0, 0, 0.12)); padding: 32px; position: relative; overflow: hidden; }
.mk-metrics-dashboard__panel::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--gradient-lime, linear-gradient(135deg, #DCF763 0%, #B8E636 100%)); opacity: 0.6; border-radius: var(--radius-xl, 16px) var(--radius-xl, 16px) 0 0; }
.mk-metrics-dashboard__title { font-family: var(--font-primary, 'Prompt', sans-serif) !important; font-size: var(--text-body, clamp(1rem, 2vw, 1.125rem)) !important; line-height: 1.3 !important; font-weight: 600 !important; color: var(--accent-navy, #275388) !important; margin-bottom: 24px; padding-top: 4px; }
.mk-metrics-dashboard__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.mk-metric-card { text-align: center; padding: 20px; background: var(--bg-page, #F8F9FA); border: 1px solid var(--glass-border-subtle, rgba(0, 0, 0, 0.06)); border-radius: var(--radius-lg, 12px); transition: transform var(--transition-normal, 0.25s ease), box-shadow var(--transition-normal, 0.25s ease), border-color var(--transition-normal, 0.25s ease); }
.mk-metric-card:hover { transform: scale(1.02); border-color: rgba(220, 247, 99, 0.4); box-shadow: 0 0 20px rgba(220, 247, 99, 0.15), 0 4px 16px rgba(0, 0, 0, 0.08); }
.mk-metric-card__value { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; line-height: 1; letter-spacing: -0.02em; color: var(--accent-lime, #DCF763); text-shadow: 0 0 20px rgba(220, 247, 99, 0.3); margin-bottom: 4px; }
.mk-metric-card__label { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: var(--text-small, 0.875rem); color: var(--text-secondary, #4A5568); line-height: 1.4; margin-top: 4px; }
@media (max-width: 1024px) { .mk-metrics-dashboard__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (max-width: 480px) { .mk-metrics-dashboard__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } .mk-metrics-dashboard__panel { padding: 24px 16px; } .mk-metric-card { padding: 16px 12px; } .mk-metric-card__value { font-size: clamp(1.5rem, 8vw, 2.5rem); } }
@supports not (backdrop-filter: blur(1px)) { .mk-metrics-dashboard__panel { background: rgba(255, 255, 255, 0.95); border: 1px solid rgba(0, 0, 0, 0.1); } }
@media (prefers-reduced-motion: reduce) { .mk-metric-card { transition: none; } .mk-metric-card:hover { transform: none; } }
/* bl-24: Checklist */
.mk-checklist { margin: var(--space-xl, 32px) 0; max-width: var(--content-max, 780px); padding: 24px; background: var(--glass-bg, rgba(255, 255, 255, 0.72)); backdrop-filter: var(--glass-blur-subtle, blur(8px)); -webkit-backdrop-filter: var(--glass-blur-subtle, blur(8px)); border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.45)); border-radius: var(--radius-lg, 16px); box-shadow: var(--glass-shadow, 0 8px 32px rgba(0, 0, 0, 0.08)); }
.mk-checklist__title { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: var(--text-body, 1rem); font-weight: 600; color: var(--accent-navy, #275388); margin: 0 0 16px 0; padding: 0; line-height: 1.4; }
.mk-checklist__list { list-style: none; padding: 0; margin: 0; }
.mk-checklist__item { display: flex; align-items: flex-start; gap: 12px; padding: 8px 0; cursor: pointer; user-select: none; -webkit-user-select: none; }
.mk-checklist__item + .mk-checklist__item { margin-top: 4px; }
.mk-checklist__checkbox { position: relative; width: 20px; height: 20px; min-width: 20px; min-height: 20px; border: 2px solid var(--accent-navy, #275388); border-radius: 4px; background: transparent; margin-top: 2px; transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; display: flex; align-items: center; justify-content: center; }
.mk-checklist__checkbox svg { width: 12px; height: 12px; opacity: 0; transform: scale(0.5); transition: opacity 0.2s ease, transform 0.2s ease; }
.mk-checklist__item--checked .mk-checklist__checkbox { background: var(--accent-lime, #DCF763); border-color: var(--accent-lime, #DCF763); box-shadow: 0 0 8px rgba(220, 247, 99, 0.3); }
.mk-checklist__item--checked .mk-checklist__checkbox svg { opacity: 1; transform: scale(1); }
.mk-checklist__text { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: var(--text-body, 1rem); font-weight: 400; line-height: 1.6; color: var(--text-primary, #1A1A2E); transition: opacity 0.3s ease, text-decoration-color 0.3s ease; text-decoration: line-through transparent; }
.mk-checklist__item--checked .mk-checklist__text { opacity: 0.6; text-decoration: line-through var(--text-secondary, #4A5568); }
.mk-checklist__item:hover .mk-checklist__checkbox { border-color: var(--accent-lime, #DCF763); }
.mk-checklist__item--checked:hover .mk-checklist__checkbox { box-shadow: 0 0 12px rgba(220, 247, 99, 0.4); }
.mk-checklist__item:focus-visible { outline: 2px solid var(--accent-navy, #275388); outline-offset: 4px; border-radius: 4px; }
@supports not (backdrop-filter: blur(1px)) { .mk-checklist { background: rgba(255, 255, 255, 0.95); } }
@media (prefers-reduced-motion: reduce) { .mk-checklist__checkbox, .mk-checklist__checkbox svg, .mk-checklist__text { transition: none; } }
@media (max-width: 768px) { .mk-checklist { padding: 20px; } .mk-checklist__item { gap: 10px; } }
.mk-checklist__cta { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; padding: 14px 18px; background: rgba(220, 247, 99, 0.06); border: 1px solid rgba(220, 247, 99, 0.15); border-radius: 10px; }
.mk-checklist__cta span { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: 0.875rem; color: var(--text-primary, #1A1A2E); line-height: 1.4; }
.mk-checklist__cta a { display: inline-flex; align-items: center; gap: 6px; background: var(--accent-lime, #DCF763); color: var(--accent-navy, #275388); font-family: var(--font-primary, 'Prompt', sans-serif); font-size: 0.8125rem; font-weight: 600; padding: 8px 18px; border-radius: 6px; text-decoration: none; white-space: nowrap; flex-shrink: 0; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.mk-checklist__cta a:hover { box-shadow: 0 0 16px rgba(220, 247, 99, 0.4); transform: scale(1.02); }
.mk-checklist__cta a svg { width: 14px; height: 14px; flex-shrink: 0; }
@media (max-width: 768px) { .mk-checklist__cta { flex-direction: column; text-align: center; } .mk-checklist__cta a { width: 100%; justify-content: center; } }
/* bl-25: Pro/Con */
.mk-procon { margin: var(--space-xl, 32px) 0; max-width: var(--content-max, 780px); }
.mk-procon__panel { background: var(--glass-bg, rgba(255, 255, 255, 0.72)); backdrop-filter: var(--glass-blur, blur(16px)); -webkit-backdrop-filter: var(--glass-blur, blur(16px)); border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.45)); border-radius: var(--radius-xl, 16px); box-shadow: var(--glass-shadow, 0 8px 32px rgba(0, 0, 0, 0.08)); overflow: hidden; padding: 0; }
.mk-procon__columns { display: flex; align-items: stretch; }
.mk-procon__column { flex: 1; display: flex; flex-direction: column; }
.mk-procon__header--pro { background: rgba(220, 247, 99, 0.15); padding: 12px 24px; display: flex; align-items: center; gap: 8px; }
.mk-procon__header--con { background: rgba(245, 158, 11, 0.1); padding: 12px 24px; display: flex; align-items: center; gap: 8px; }
.mk-procon__header-icon { width: 16px; height: 16px; flex-shrink: 0; }
.mk-procon__header-label { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.mk-procon__header--pro .mk-procon__header-label { color: #4A7A10; }
.mk-procon__header--con .mk-procon__header-label { color: #92400E; }
.mk-procon__header--pro .mk-procon__header-icon { color: #4A7A10; }
.mk-procon__header--con .mk-procon__header-icon { color: #92400E; }
.mk-procon__body { padding: 24px; flex: 1; }
.mk-procon__list { list-style: none; padding: 0; margin: 0; }
.mk-procon__item { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: var(--text-body, 1rem); line-height: 1.7; color: var(--text-primary, #1A1A2E); padding: 6px 0 6px 24px; position: relative; }
.mk-procon__item + .mk-procon__item { margin-top: 4px; }
.mk-procon__column--pro .mk-procon__item::before { content: ""; position: absolute; left: 0; top: 14px; width: 8px; height: 8px; border-radius: 50%; background: #4A7A10; box-shadow: 0 0 6px rgba(74, 122, 16, 0.3); }
.mk-procon__column--con .mk-procon__item::before { content: ""; position: absolute; left: 0; top: 14px; width: 8px; height: 8px; border-radius: 50%; background: #D97706; box-shadow: 0 0 6px rgba(217, 119, 6, 0.3); }
.mk-procon__divider { width: 1px; background: rgba(0, 0, 0, 0.08); align-self: stretch; }
.mk-procon__divider-h { display: none; height: 1px; background: rgba(0, 0, 0, 0.08); }
@media (max-width: 768px) { .mk-procon__columns { flex-direction: column; } .mk-procon__divider { display: none; } .mk-procon__divider-h { display: block; } .mk-procon__body { padding: 20px; } .mk-procon__header--pro, .mk-procon__header--con { padding: 10px 20px; } }
@supports not (backdrop-filter: blur(1px)) { .mk-procon__panel { background: rgba(255, 255, 255, 0.95); border: 1px solid rgba(0, 0, 0, 0.1); } }
/* bl-26: CTA Inline */
.mk-cta-inline { position: relative; margin: var(--space-2xl, 48px) 0; padding: 24px 32px; max-width: var(--content-max, 780px); background: var(--glass-bg, rgba(255, 255, 255, 0.72)); backdrop-filter: var(--glass-blur-subtle, blur(8px)); -webkit-backdrop-filter: var(--glass-blur-subtle, blur(8px)); border: 2px solid var(--accent-lime, #DCF763); border-radius: var(--radius-lg, 16px); box-shadow: var(--glass-shadow, 0 8px 32px rgba(0, 0, 0, 0.08)); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.mk-cta-inline__content { flex: 1; min-width: 0; }
.mk-cta-inline__title { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: 1.125rem; font-weight: 600; color: var(--accent-navy, #275388); line-height: 1.3; margin: 0; }
.mk-cta-inline__subtitle { font-family: var(--font-primary, 'Prompt', sans-serif); font-size: var(--text-small, 0.875rem); color: var(--text-secondary, #4A5568); line-height: 1.5; margin-top: 4px; margin-bottom: 0; }
.mk-cta-inline__button { display: inline-flex !important; align-items: center; gap: 8px; background: var(--accent-lime, #DCF763) !important; color: var(--accent-navy, #275388) !important; font-family: var(--font-primary, 'Prompt', sans-serif) !important; font-size: 0.9375rem !important; font-weight: 600 !important; padding: 12px 28px; border-radius: 8px; border: none; text-decoration: none !important; cursor: pointer; white-space: nowrap; flex-shrink: 0; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.mk-cta-inline__button:hover { box-shadow: 0 0 20px rgba(220, 247, 99, 0.4), 0 4px 12px rgba(0, 0, 0, 0.1); transform: scale(1.02); }
.mk-cta-inline__button:active { transform: scale(0.98); }
.mk-cta-inline__button svg { width: 16px; height: 16px; flex-shrink: 0; transition: transform 0.2s ease; }
.mk-cta-inline__button:hover svg { transform: translateX(3px); }
@media (max-width: 768px) { .mk-cta-inline { flex-direction: column; text-align: center; padding: 20px 20px; gap: 16px; } .mk-cta-inline__button { width: 100%; justify-content: center; padding: 14px 28px; } }
@supports not (backdrop-filter: blur(1px)) { .mk-cta-inline { background: rgba(255, 255, 255, 0.95); } }
@media (prefers-reduced-motion: reduce) { .mk-cta-inline__button { transition: none; } .mk-cta-inline__button svg { transition: none; } }
/* bl-30: Share Buttons */
.mk-share { margin: var(--space-xl, 32px) 0; max-width: var(--content-max, 780px); }
.mk-share__row { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; }
.mk-share__button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--glass-bg, rgba(255, 255, 255, 0.72)); backdrop-filter: var(--glass-blur-subtle, blur(8px)); -webkit-backdrop-filter: var(--glass-blur-subtle, blur(8px)); border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.45)); box-shadow: var(--glass-shadow, 0 8px 32px rgba(0, 0, 0, 0.08)); color: var(--text-secondary, #4A5568); text-decoration: none; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.mk-share__button:hover { transform: scale(1.1); box-shadow: 0 0 20px rgba(220, 247, 99, 0.3), 0 4px 16px rgba(0, 0, 0, 0.1); color: var(--accent-navy, #275388); border-color: rgba(220, 247, 99, 0.4); }
.mk-share__button:active { transform: scale(0.95); }
.mk-share__button svg { width: 20px; height: 20px; flex-shrink: 0; }
.mk-share__tooltip { position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%) translateY(4px); background: var(--accent-navy, #275388); color: #FFFFFF; font-family: var(--font-primary, 'Prompt', system-ui, sans-serif); font-size: 0.75rem; font-weight: 500; padding: 4px 10px; border-radius: 6px; white-space: nowrap; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease; }
.mk-share__tooltip::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 5px solid transparent; border-top-color: var(--accent-navy, #275388); }
.mk-share__button--copy.is-copied .mk-share__tooltip { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
@supports not (backdrop-filter: blur(1px)) { .mk-share__button { background: rgba(255, 255, 255, 0.95); } }
@media (max-width: 768px) { .mk-share__row { gap: 10px; } .mk-share__button { width: 38px; height: 38px; } .mk-share__button svg { width: 18px; height: 18px; } }
@media (prefers-reduced-motion: reduce) { .mk-share__button { transition: none; } .mk-share__tooltip { transition: none; } }
/* === DARK THEME OVERRIDES === */
.mk-article h2, .mk-article h3, .mk-article h4 {
font-family: var(--font-primary, 'Prompt', system-ui, sans-serif);
font-size: inherit; font-weight: inherit; color: inherit; letter-spacing: normal; line-height: inherit;
}
.mk-article a { color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; }
.mk-article {
--text-primary: #F0F0F3;
--text-secondary: #B8B9C4;
--bg-page: rgba(255, 255, 255, 0.04);
--bg-white: rgba(255, 255, 255, 0.06);
--glass-bg: rgba(255, 255, 255, 0.08);
--glass-border: rgba(255, 255, 255, 0.12);
--glass-border-subtle: rgba(255, 255, 255, 0.08);
--glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
--glass-shadow-elevated: 0 16px 48px rgba(0, 0, 0, 0.3);
--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
--shadow-md: 0 4px 16px rgba(0, 0, 0, 0.25);
}
.mk-article .mk-heading-h2 { color: #FFF !important; }
.mk-article .mk-heading-h3 { color: #F0F0F3 !important; }
.mk-article .mk-body-text a,
.mk-article .mk-bullet-list a,
.mk-article .mk-numbered-list a { color: #DCF763 !important; }
.mk-article .mk-pull-quote__text { color: #FFF; }
.mk-article .mk-cta-inline { background: rgba(255, 255, 255, 0.06); }
.mk-article .mk-cta-inline__title { color: #FFF !important; }
.mk-article .mk-cta-inline__subtitle { color: #B8B9C4 !important; }
.mk-article .mk-cta-inline__button { color: #275388 !important; background: #DCF763 !important; }
.mk-article .mk-cta-inline__button:hover { color: #275388 !important; }
.mk-article .mk-callout--tip .mk-callout__title { color: #DCF763; }
.mk-article .mk-callout--warning .mk-callout__title { color: #F59E0B; }
.mk-article .mk-callout--info .mk-callout__title { color: #87CEEB; }
.mk-article .mk-callout--tip { background: rgba(220, 247, 99, 0.08); }
.mk-article .mk-callout--warning { background: rgba(245, 158, 11, 0.06); }
.mk-article .mk-callout--info { background: rgba(39, 83, 136, 0.15); }
.mk-article .mk-callout--info .mk-callout__icon { color: #87CEEB; }
.mk-article .mk-callout--tip .mk-callout__icon { color: #DCF763; }
.mk-article .mk-callout--warning .mk-callout__icon { color: #F59E0B; }
.mk-article .mk-callout__icon { width: 24px; height: 24px; }
.mk-article .mk-callout--info { border-left-color: #87CEEB; }
.mk-article .mk-table__element th { color: #DCF763; border-bottom-color: rgba(255, 255, 255, 0.1); }
.mk-article .mk-table__element td { border-bottom-color: rgba(255, 255, 255, 0.06); }
.mk-article .mk-table__element tbody tr:hover { background: rgba(220, 247, 99, 0.08); }
.mk-article .mk-table__wrapper { border-color: rgba(255, 255, 255, 0.1); }
.mk-article .mk-table__scroll-hint { color: #B8B9C4; }
.mk-article .mk-metrics-dashboard__title { color: #DCF763 !important; font-size: var(--text-body, clamp(1rem, 2vw, 1.125rem)) !important; }
.mk-article .mk-numbered-list li::before { color: #DCF763; }
.mk-article .mk-before-after__column--before { background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 255, 255, 0.1); }
.mk-article .mk-before-after__column--after { background: rgba(220, 247, 99, 0.06); border-color: rgba(220, 247, 99, 0.2); }
.mk-article .mk-before-after__column--before .mk-before-after__header { color: #B8B9C4; }
.mk-article .mk-before-after__column--after .mk-before-after__header { color: #DCF763; }
.mk-article .mk-before-after__column--before .mk-before-after__list li::before { background: #B8B9C4; }
.mk-article .mk-before-after__arrow { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.15); }
.mk-article .mk-before-after__arrow-icon { color: #DCF763; }
.mk-article .mk-procon__header--pro .mk-procon__header-label,
.mk-article .mk-procon__header--pro .mk-procon__header-icon { color: #A5D610; }
.mk-article .mk-procon__header--con .mk-procon__header-label,
.mk-article .mk-procon__header--con .mk-procon__header-icon { color: #F59E0B; }
.mk-article .mk-procon__header--pro { background: rgba(220, 247, 99, 0.08); }
.mk-article .mk-procon__header--con { background: rgba(245, 158, 11, 0.05); }
.mk-article .mk-procon__divider { background: rgba(255, 255, 255, 0.08); }
.mk-article .mk-procon__divider-h { background: rgba(255, 255, 255, 0.08); }
.mk-article .mk-checklist__title { color: #FFF; }
.mk-article .mk-checklist__checkbox { border-color: rgba(255, 255, 255, 0.3); }
.mk-article .mk-single-metric__container { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.08); }
.mk-article .mk-share__button:hover { color: #FFF; }
.mk-article .mk-share__button--copy:hover { background: var(--accent-lime, #DCF763); color: var(--accent-navy, #275388); border-color: var(--accent-lime, #DCF763); }
.mk-article img { border-radius: var(--radius-md, 8px); }
@supports not (backdrop-filter: blur(1px)) {
.mk-article .mk-callout, .mk-article .mk-checklist, .mk-article .mk-before-after__panel,
.mk-article .mk-metrics-dashboard__panel, .mk-article .mk-procon__panel {
background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.15);
}
}
"Siamo fermi da mesi allo stesso fatturato." "L'agenzia mi dice che non si può fare di più." "Ho cambiato agenzia due volte e non è cambiato nulla."
Se ti riconosci in una di queste frasi, questa guida è per te. Non ti serve l'ennesima lista di "migliori agenzie ecommerce Italia". Ti servono criteri concreti per capire chi può davvero far crescere il tuo business e chi, invece, si limita a gestire task.
73%
Secondo i benchmark di settore, quasi 3 ecommerce su 4 cambiano agenzia entro il primo anno
Il punto non è che le agenzie siano tutte uguali. Il punto è che la maggior parte degli ecommerce sceglie il tipo di agenzia sbagliato per la propria fase. Se sei tra 250K e 2M di fatturato, non ti serve qualcuno che "gestisce le ads". Ti serve un sistema che unisca acquisition, retention, analytics e responsabilita sui risultati.
In questa guida trovi 7 criteri per scegliere l'agenzia marketing ecommerce giusta, 10 domande da fare alla prima call e i segnali per capire subito se stai parlando con un dipartimento di crescita o con un fornitore di task.
Cosa fa davvero un'agenzia di marketing per ecommerce
Prima di scegliere, devi chiarire una differenza fondamentale: non tutte le agenzie lavorano sullo stesso problema. C'e chi costruisce il sito, chi compra visibilità, chi fa comunicazione generale e chi, invece, ha come obiettivo diretto l'aumento di fatturato e profitto dell'ecommerce.
- Fa un po' di tutto per clienti molto diversi tra loro
- Parla di follower, traffico e "visibilità"
- Lavora a canali separati, senza integrazione reale
- Non ragiona su CAC, CLTV e margine
- Lavora quasi solo con ecommerce
- Misura crescita su fatturato, profitto e retention
- Integra Meta Ads, email, SMS, CRM e analytics
- Ragiona come un sistema, non come un reparto isolato
Un'agenzia ecommerce seria lavora su due leve. La prima e l'acquisition: trovare nuove nicchie di pubblico, nuovi angoli creativi e nuovi segmenti con cui scalare. La seconda e la retention: far tornare i clienti, aumentare la frequenza di acquisto e alzare il CLTV con email, SMS e loyalty.
Quanti dei vostri clienti attuali sono ecommerce? Se la risposta e sotto il 70%, non stai parlando con uno specialista. Stai parlando con un'agenzia generalista che ha anche qualche ecommerce.
Criterio #1: approccio integrato, non a silos
Fare advertising senza retention e come riempire una vasca senza tappo. Generi traffico, spendi budget, acquisisci clienti, ma poi non costruisci nessun meccanismo che li faccia tornare. Il risultato è prevedibile: il CAC sale, il margine si assottiglia e ogni mese devi ricomprare crescita da zero.
Esempio concreto: una campagna Meta porta 1.000 visitatori. Se il 2% compra, hai 20 ordini. Ma gli altri 980? Senza un flow di benvenuto, una raccolta email solida e una segmentazione seria, spariscono. E i 20 clienti acquisiti? Senza post-purchase, cross-sell e retention, restano clienti da un solo acquisto.
Se un'agenzia ti dice "noi facciamo solo ads, per le email senti qualcun altro", stai valutando un fornitore di task. Non un dipartimento di crescita.
Chiedi sempre come integrano acquisition e retention, chi gestisce cosa, quali KPI condividono tra advertising e lifecycle e come leggono il rapporto tra CAC e CLTV. Se la risposta e vaga, l'integrazione non c'e.
Criterio #2: certificazioni e stack tecnologico
Le certificazioni non servono per fare scena. Servono per capire se l'agenzia ha accesso agli strumenti giusti, al supporto giusto e al livello di competenza giusto. Per un ecommerce, il tema non è "quanti badge ha", ma "quali badge contano davvero sul mio stack".
Sul lato retention, la domanda da fare è semplice: che tier Klaviyo avete e da quanto tempo? Un partner Gold o superiore non ha solo un badge. Ha accesso anticipato a beta feature, account manager dedicati e best practice che impattano davvero su segmentazione, automazioni e performance.
Le certificazioni serie si controllano nelle directory ufficiali dei partner program. Se non trovi l'agenzia li, non accettare formule vaghe come "siamo certificati" o "lavoriamo spesso con".
Criterio #3: case study con numeri reali
"Abbiamo aiutato un brand a crescere" non significa niente. Un case study serio dice da dove si partiva, cosa è stato fatto, in quanto tempo e con quali risultati. Ti serve il prima e il dopo, non solo un logo bello in homepage.
Cosa deve avere un case study credibile
- Settore vicino al tuo o dinamiche comparabili
- Metriche prima e dopo, non solo il risultato finale
- Budget, durata e contesto della collaborazione
- Strategia spiegata con sufficiente dettaglio, non solo slogan
- Possibilità di parlare con un cliente reale o vedere referenze verificabili
Se vuoi un riferimento concreto, i casi studio più utili non sono quelli che dicono "brand famoso". Sono quelli che ti permettono di capire se l'agenzia sa migliorare ROAS, retention, revenue da email e marginalità in un contesto simile al tuo.
Criterio #4: modello di pricing, chi rischia con te?
Chiedere solo "quanto costa" ti porta fuori strada. La domanda utile e: come sono allineati gli incentivi? Un fee fisso mensile premia la stabilità. Un modello a performance premia la crescita. Una percentuale sull'ad spend può premiare l'aumento di budget, non per forza l'aumento di profitto.
- Fee base chiara e quota variabile su risultati misurabili
- Tracking trasparente e KPI definiti prima di iniziare
- Possibilità di uscita se non c'e fit o crescita
- Pressione naturale sul miglioramento continuo
- Fee fisso senza nessun legame con la crescita reale
- Percentuale su spend che incentiva ad alzare budget
- Setup fee opache e contratti lunghi senza uscita
- Nessuna definizione chiara di cosa sia un risultato
Se pensi che 5K al mese siano troppi, fai il calcolo contrario: quanto perdi restando fermo? Un ecommerce da 400K con margine al 30% che potrebbe crescere del 50% sta lasciando 60K l'anno sul tavolo. Il costo dell'immobilismo, spesso, e il costo più alto.
Il tuo ecommerce e bloccato tra 250K e 2M?
Scopri come funziona un sistema che integra nuove nicchie, retention e analytics in un unico ecosistema a performance.
Scopri il nostro approccio
Criterio #5: KPI che contano, non vanity metrics
Impression, reach e follower fanno scena nei report. Ma non ti dicono se il tuo ecommerce sta diventando più sano. Le metriche da guardare sono quelle che collegano spesa, marginalità, retention e ritorno economico nel tempo.
Le 6 metriche che un'agenzia ecommerce deve condividere
>3:1
Rapporto CLTV:CAC sano
< 1/3
CAC rispetto al CLTV
25-40%
Revenue da email/SMS su ecommerce maturi
2.5-6x
Range ROAS tipico per settore
Il MER è la metrica più trascurata e una delle più utili: collega il revenue totale alla spesa marketing totale. Il CLTV ti dice quanto un cliente vale nel tempo. Il CAC ti dice quanto costa acquisirlo. Il rapporto CLTV:CAC ti dice se il modello e sostenibile o se stai comprando clienti che valgono meno di quello che costano.
Un PDF mensile descrive il passato. Una dashboard condivisa in tempo reale ti permette di prendere decisioni sul presente. Chiedi sempre quale KPI usano come stella polare e come ti danno accesso ai dati.
Criterio #6: proattivita e trasparenza
La frase "non si può fare di più" spesso non significa che il mercato e saturo. Significa che nessuno sta cercando davvero nuovi angoli, nuovi test e nuove nicchie. Qui si vede la differenza tra un esecutore e un team che si comporta da dipartimento di crescita.
- Accesso admin a tutti gli account: Meta, Klaviyo, GA4, Google Ads.
- Report settimanali con decisioni prese e prossimi test pianificati.
- Un referente che conosce il tuo business, non un passaggio di mano continuo.
- Dashboard condivisa in real time, non solo report a fine mese.
- Meeting in cui l'agenzia propone, non aspetta che sia tu a inseguirla.
Se non hai accesso admin ai tuoi account, i tuoi dati e le tue audience sono in ostaggio. Non è una sfumatura contrattuale: è un rischio operativo serio.
Criterio #7: dipartimento di crescita o fornitore di task?
Tutte le agenzie dicono di essere diverse. Il modo per capire se lo sono davvero e osservare come si comportano già dalla prima call. Le domande che ti fanno raccontano molto di più delle slide che ti mostrano.
- Aspetta istruzioni
- Parla quasi solo dei propri servizi
- Ti manda un preventivo prima di vedere i dati
- Ottimizza per il canale, non per il profitto
- Ti fa domande su margine, AOV, CLTV e supply chain
- Ti dice anche dei no quando servono
- Parte dai dati prima di parlare di proposta
- Ragiona su crescita sostenibile a 6-12 mesi
La regola d'oro è semplice: il primo meeting dovrebbe essere 70% domande su di te e 30% su di loro. Se parlano per il 90% del tempo di chi sono, cosa fanno e quanto sono bravi, stai assistendo a una presentazione commerciale. Non a una valutazione seria del tuo ecommerce.
Le 10 domande da fare prima di firmare
Questa è la checklist da portare alla call. Falla a ogni agenzia che valuti, confronta le risposte fianco a fianco e vedrai subito chi ha sostanza e chi ha solo storytelling.
Checklist prima call
- Quanti ecommerce gestite oggi e in quali settori?
- Qual è il vostro stack tecnologico e quali certificazioni avete?
- Come integrate acquisition e retention nel vostro approccio?
- Posso vedere 2-3 case study con numeri prima e dopo?
- Qual è il vostro modello di pricing e cosa e incluso?
- Quale KPI usate come stella polare su un ecommerce come il mio?
- Chi lavorera concretamente sul mio account e quanti clienti gestisce?
- Avro accesso admin a tutti i miei account?
- Qual è la durata minima del contratto e c'e una clausola di uscita?
- Cosa succede se dopo 90 giorni non vedo risultati misurabili?
Preferisci partire da un audit dei numeri prima di scegliere l'agenzia?
Prenota una call
FAQ
Quanto costa un'agenzia di marketing per ecommerce?
In Italia, per un ecommerce tra 250K e 2M, il range tipico e tra 2.000 e 10.000 euro al mese, escluso l'ad spend. Per realtà più grandi o stack più complessi, si sale. Il numero giusto dipende dal modello di pricing e da quanto gli incentivi sono allineati alla tua crescita.
Qual è la differenza tra web agency e agenzia marketing ecommerce?
La web agency costruisce e mantiene il sito. L'agenzia marketing ecommerce lavora su advertising, retention, analytics e crescita del fatturato. Sono due mestieri diversi, con KPI diversi.
Quanto tempo serve per vedere risultati?
Su paid media servono 2-4 settimane per dati utili e 60-90 giorni per ottimizzazioni mature. Su email e SMS automation, 30-60 giorni per attivare i flow principali e 90-120 giorni per vedere un impatto stabile su retention e revenue.
Posso tenere Meta Ads in-house e delegare solo l'email?
Si può fare, ma perdi l'integrazione. Ads e retention danno il meglio quando lavorano come un sistema unico: i dati delle campagne alimentano la segmentazione, e la retention migliora il CLTV che rende più sostenibile l'acquisition.
Conclusione
Non cercare l'agenzia più grande o quella che promette di più. Cerca quella che capisce il tuo business, ti fa le domande giuste, si assume una parte del rischio e lavora come un dipartimento di crescita.
Se hai già cambiato agenzia senza risultati, forse non serviva cambiare fornitore. Serviva cambiare metodo. E se stai valutando MarketKing, applica a noi stessi gli stessi 10 criteri di questa guida: è il modo migliore per capire se c'e davvero fit.
Il tuo ecommerce e fermo e vuoi capire perché?
Guardiamo insieme i tuoi numeri e ti diciamo onestamente se è come possiamo aiutarti. Se non siamo la risposta giusta, te lo diciamo.
Prenota la tua call
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Quanto costa un'agenzia di marketing per ecommerce?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Per un ecommerce tra 250K e 2M di fatturato, il range tipico in Italia e tra 2.000 e 10.000 euro al mese, escluso l'ad spend. Il costo dipende da stack, complessita e modello di pricing."
}
},
{
"@type": "Question",
"name": "Qual è la differenza tra web agency e agenzia marketing ecommerce?",
"acceptedAnswer": {
"@type": "Answer",
"text": "La web agency costruisce e mantiene il sito. L'agenzia marketing ecommerce lavora su advertising, retention, analytics e crescita di fatturato e profitto."
}
},
{
"@type": "Question",
"name": "Quanto tempo serve per vedere risultati?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Su paid media servono 2-4 settimane per dati utili e 60-90 giorni per ottimizzazioni mature. Su
email e SMS automation, 30-60 giorni per attivare i flow principali e 90-120 giorni per vedere risultati stabili."
}
},
{
"@type": "Question",
"name": "Posso tenere Meta Ads in-house e delegare solo l'email?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Si, ma perdi integrazione. Ads e retention funzionano meglio quando lavorano come un sistema unico, con dati condivisi tra acquisizione, segmentazione e automazioni."
}
}
]
}
document.addEventListener('DOMContentLoaded', function() {
var c = document.querySelector('.mk-share');
if (c) {
var u = encodeURIComponent(window.location.href),
t = encodeURIComponent(document.title),
l = {
linkedin: 'https://www.linkedin.com/sharing/share-offsite/?url=' + u,
twitter: 'https://twitter.com/intent/tweet?url=' + u + '&text=' + t,
facebook: 'https://www.facebook.com/sharer/sharer.php?u=' + u,
whatsapp: 'https://api.whatsapp.com/send?text=' + t + '%20' + u
};
c.querySelectorAll('[data-share]').forEach(function(b) {
var p = b.getAttribute('data-share');
if (p === 'copy') {
b.addEventListener('click', function(e) {
e.preventDefault();
if (navigator.clipboard) {
navigator.clipboard.writeText(window.location.href).then(function() {
b.classList.add('is-copied');
setTimeout(function() { b.classList.remove('is-copied'); }, 2000);
});
}
});
} else if (l[p]) {
b.setAttribute('href', l[p]);
}
});
}
document.querySelectorAll('.mk-checklist__list').forEach(function(list) {
list.querySelectorAll('.mk-checklist__item').forEach(function(item) {
function toggle() {
var checked = item.classList.contains('mk-checklist__item--checked');
item.classList.toggle('mk-checklist__item--checked');
item.setAttribute('aria-checked', checked ? 'false' : 'true');
}
item.addEventListener('click', function(e) { e.preventDefault(); toggle(); });
item.addEventListener('keydown', function(e) {
if (e.key === ' ' || e.key === 'Enter') {
e.preventDefault();
toggle();
}
});
});
});
});