/* Shortcode content inside the site's editable Elementor blog layouts. */
.sp-blog-single-document { margin: 0; }
.sp-blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.sp-blog-card { min-width: 0; overflow: hidden; border: 1px solid #f1c9dc; border-radius: 18px; background: #fff; display: flex; flex-direction: column; }
.sp-blog-card-visual { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #fce9f1; }
.sp-blog-card-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sp-blog-card-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; gap: 12px; color: #a91250; background: linear-gradient(135deg,#fff6fa,#f8dbe8); text-align: center; font-size: 13px; }
.sp-blog-card-placeholder svg { width: 58px; height: 58px; }
.sp-blog-card-copy { padding: 26px; display: flex; flex: 1; flex-direction: column; gap: 14px; }
.sp-blog-card-copy time,.sp-blog-article-header time { color: #655b60; font-size: 13px; }
.sp-blog-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 9px; color: #655b60; font-size: 13px; line-height: 1.6; }
.sp-blog-meta time,.sp-blog-reading-time { white-space: nowrap; }
.sp-blog-reading-time { text-transform: none; }
.sp-blog-meta-separator { color: #a91250; }
.sp-blog-card-copy h3 { font-family: 'Fraunces',Georgia,serif; font-size: clamp(23px,2vw,29px); line-height: 1.16; margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.sp-blog-card-copy h3 a { color: #2e2e2e; }
.sp-blog-card-copy h3 a:hover { color: #a91250; }
.sp-blog-card-copy p { font-size: 15px; line-height: 1.65; margin: 0 0 8px; }
.sp-blog-card-copy .sp-blog-link { margin-top: auto; }
.sp-blog-link,.sp-blog-back { font-size: 14px; display: inline-flex; gap: 10px; align-items: center; width: fit-content; color: #a91250; font-weight: 600; }
.sp-blog-empty { padding: clamp(28px,4vw,58px); border: 1px solid #f1c9dc; border-radius: 18px; background: #fff9fc; max-width: 920px; margin: 0 auto; text-align: center; }
.sp-blog-kicker { display: block; color: #a91250; text-transform: none; letter-spacing: .02em; font-size: 12px; line-height: 1.6; }
.sp-blog-empty h3 { font-family: 'Fraunces',Georgia,serif; font-size: clamp(28px,3vw,40px); line-height: 1.15; margin: 14px 0 18px; }
.sp-blog-empty p { max-width: 650px; margin: 0 auto 24px; line-height: 1.7; }
.sp-blog-empty .sp-blog-link { margin: auto; }
.sp-blog-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 38px 0 0; }
.sp-blog-pagination .page-numbers { min-width: 44px; min-height: 44px; padding: 11px 15px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d7a8bd; border-radius: 24px; font-size: 14px; }
.sp-blog-pagination .current { color: #fff; background: #a91250; border-color: #a91250; }
.sp-blog-article { max-width: 1000px; margin: 0 auto; width: 100%; }
.sp-blog-back { margin-bottom: 36px; }
.sp-blog-article-header { max-width: 900px; margin: 0 auto 34px; }
.sp-blog-article-header h1 { font-family: 'Fraunces',Georgia,serif; color: #2e2e2e; font-weight: 650; font-size: clamp(36px,4.7vw,64px); line-height: 1.06; margin: 14px 0 22px; overflow-wrap: anywhere; }
.sp-blog-article-image { margin: 0 0 44px; }
.sp-blog-article-image img { display: block; max-height: 680px; width: 100%; height: auto; object-fit: contain; border-radius: 18px; }
.sp-blog-article-body { max-width: 780px; margin: 0 auto; font-size: 18px; line-height: 1.8; overflow-wrap: anywhere; }
.sp-blog-article-body h2,.sp-blog-article-body h3,.sp-blog-article-body h4 { font-family: 'Fraunces',Georgia,serif; line-height: 1.2; margin: 1.5em 0 .6em; color: #2e2e2e; }
.sp-blog-article-body h2 { font-size: clamp(28px,3vw,38px); }
.sp-blog-article-body h3 { font-size: clamp(24px,2.4vw,30px); }
.sp-blog-article-body p,.sp-blog-article-body ul,.sp-blog-article-body ol { margin: 0 0 1.2em; }
.sp-blog-article-body a { text-decoration: underline; text-underline-offset: 3px; }
.sp-blog-article-body img,.sp-blog-article-body video,.sp-blog-article-body iframe { max-width: 100%; }
.sp-blog-article-body img { height: auto; }
.sp-blog-article-body blockquote { margin: 2em 0; padding: 18px 24px; border-left: 4px solid #d0085f; background: #fff2f8; }
.sp-blog-article-body figure { max-width: 100%; margin-left: 0; margin-right: 0; }
.sp-blog-article-body table { display: block; max-width: 100%; overflow-x: auto; }
/* Readable, keyboard-scrollable comparison tables in long-form articles. */
.sp-blog-article-body .sp-article-table-wrap { width: 100%; max-width: 100%; margin: 28px 0; overflow-x: auto; border: 1px solid #e7cbd7; border-radius: 12px; background: #fff; }
.sp-blog-article-body .sp-article-table-wrap:focus-visible { outline: 3px solid #a91250; outline-offset: 4px; }
.sp-blog-article-body .sp-article-table-wrap table { display: table; width: 100%; min-width: 580px; max-width: none; margin: 0; border: 0; border-collapse: collapse; font-size: 17px; line-height: 1.6; }
.sp-blog-article-body .sp-article-table-wrap caption { padding: 16px 18px; text-align: left; color: #7d123f; background: #fff4f8; font-weight: 600; }
.sp-blog-article-body .sp-article-table-wrap th { padding: 16px; text-align: left; vertical-align: top; color: #442130; background: #fbe8f0; border: 1px solid #e7cbd7; font-weight: 600; }
.sp-blog-article-body .sp-article-table-wrap td { padding: 16px; text-align: left; vertical-align: top; border: 1px solid #e7cbd7; }
.sp-blog-article-body .sp-article-table-wrap tbody tr:nth-child(even) td { background: #fff9fc; }
.sp-blog-article-body .sp-article-table-hint { display: none; }
@media (max-width: 640px) {
	.sp-blog-article-body .sp-article-table-wrap table { font-size: 16px; }
	.sp-blog-article-body .sp-article-table-wrap th,.sp-blog-article-body .sp-article-table-wrap td { padding: 14px; }
	.sp-blog-article-body .sp-article-table-hint { display: block; font-size: 14px; line-height: 1.5; color: #655b60; margin: 20px 0 -12px; }
}
.sp-blog-subscribe-pending { color: #574b51; line-height: 1.7; margin: 0; }
.sp-blog-signup-form { width: 100%; }
.sp-blog-signup-form .elementor-field-type-acceptance { font-size: 13px; line-height: 1.6; }
.sp-blog-signup-form .elementor-field-type-acceptance .elementor-field-subgroup { width: 100%; }
.sp-blog-signup-form .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; gap: 9px; }
.sp-blog-signup-form .elementor-field-type-acceptance input[type="checkbox"] { appearance: auto; width: 18px !important; min-width: 18px !important; max-width: 18px !important; height: 18px !important; min-height: 18px !important; padding: 0 !important; margin: 3px 0 0 !important; flex: 0 0 18px; accent-color: #a91250; }
.sp-blog-signup-form .elementor-field-type-acceptance label { margin: 0; font-size: 13px; line-height: 1.6; }
.sp-blog-signup-form .elementor-message { line-height: 1.6; margin-top: 16px; }
.sp-blog-signup-privacy { font-size: 12px; line-height: 1.6; margin: 16px 0 0; color: #574b51; }
.sp-blog-signup-form .elementor-field-type-recaptcha_v3 { min-height: 60px; }
.sp-site .sp-blog-signup-form .sp-native-form .elementor-field-type-recaptcha_v3 > .elementor-field { background: transparent !important; border: 0; border-radius: 0; min-height: 0; padding: 0; box-shadow: none; }
@media (max-width: 1000px) { .sp-blog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .sp-blog-grid { grid-template-columns: minmax(0,1fr); gap: 24px; } .sp-blog-card-copy { padding: 24px; } .sp-blog-article-body { font-size: 16px; line-height: 1.75; } .sp-blog-back { margin-bottom: 28px; } .sp-blog-article-header { margin-bottom: 26px; } .sp-blog-article-image { margin-bottom: 30px; } .sp-blog-signup-form .elementor-field-group { width: 100%; } }
