/* ==========================================================================
   Blog Smiley Propiedades — se carga solo en las vistas del blog
   (listado, categorías, entradas). Usa los tokens del portal.
   ========================================================================== */

body.sp-blog{
	background:#fbf8f2;
	font-family:'Inter', sans-serif;
	color:var(--sp-text-dark);
}

/* Blocksy muestra su propio título de página (.hero-section). En el listado
   y en las categorías lo reemplaza nuestra portada, así que se oculta ahí. */
body.sp-blog-home .hero-section,
body.sp-blog-cat .hero-section{ display:none !important; }
/* En las entradas, la portada (imagen, título y subtítulo) la dibuja el plugin: se oculta la del tema.
   Si en tu Blocksy aún se ve duplicada, desactiva "Título de página" e "Imagen destacada" en
   Personalizar → Entradas del blog → Entrada individual. */
body.sp-blog-single .hero-section,
body.sp-blog-single .ct-featured-image,
body.sp-blog-single article > .entry-header,
body.sp-blog-single article > .post-thumb{ display:none !important; }
/* El listado lo dibuja el plugin (.spb-listado): se oculta el del tema para no duplicarlo. */
body.sp-blog-home #main,
body.sp-blog-cat #main{ display:none !important; }

/* ---------- Portada del blog / categoría ---------- */
.spb-hero{
	position:relative; overflow:hidden;
	background:linear-gradient(135deg, #1f4d39 0%, var(--sp-bg-dark) 78%);
	color:var(--sp-text-cream);
	padding:clamp(44px,7vw,96px) clamp(20px,5vw,64px);
}
.spb-hero-home, .spb-hero-cat{ min-height:clamp(320px,32vw,440px); display:flex; align-items:center; }
.spb-hero-home > .spb-hero-in, .spb-hero-cat > .spb-hero-in{ width:100%; }
.spb-hero-home .spb-hero-in{ text-align:center; }
.spb-hero-home .spb-hero-in > h1, .spb-hero-home .spb-hero-in > p{ margin-left:auto; margin-right:auto; }
.spb-hero-home .spb-search{ margin:8px auto 0; justify-content:center; }
.spb-hero h1{ text-shadow:0 2px 18px rgba(0,0,0,.35); }
.spb-hero-in{ max-width:1200px; margin:0 auto; }  /* mismo ancho que las tarjetas de abajo: bordes alineados */
.spb-hero-in > h1{ max-width:900px; }
.spb-hero-in > p, .spb-hero-in > .spb-hero-desc{ max-width:720px; }

/* Imagen de fondo (portada de categoría / imagen destacada de la página Blog) con capa oscura */
.spb-hero.has-img:not(.spb-hero-post){
	background:linear-gradient(rgba(16,21,28,.58), rgba(16,21,28,.44)), var(--spb-hero-img) center / cover no-repeat;
	background-color:var(--sp-bg-dark);
}
.spb-eyebrow{
	display:inline-block; font-size:.78rem; font-weight:600; letter-spacing:.08em;
	text-transform:uppercase; color:var(--sp-accent-gold); margin-bottom:14px;
}
.spb-hero h1{
	font-family:'Fraunces', serif; font-weight:500; line-height:1.15;
	font-size:clamp(1.9rem,4.6vw,3rem); color:var(--sp-text-cream); margin:0 0 14px;
}
.spb-hero p, .spb-hero-desc{
	color:var(--sp-text-cream-dim); font-size:clamp(1rem,1.6vw,1.1rem); line-height:1.6; margin:0 0 22px;
}
.spb-hero-desc p{ margin:0 0 10px; color:inherit; }

.spb-search{ display:flex; gap:8px; max-width:560px; margin-top:6px; }
.spb-search input[type="search"]{
	flex:1; min-width:0; padding:13px 18px; border-radius:100px; border:1px solid rgba(246,241,231,.25);
	background:rgba(246,241,231,.08); color:var(--sp-text-cream); font:inherit; font-size:.95rem;
}
.spb-search input[type="search"]::placeholder{ color:var(--sp-text-cream-dim); opacity:.8; }
.spb-search input[type="search"]:focus{ outline:2px solid var(--sp-accent-gold); outline-offset:1px; }
.spb-search button{
	background:var(--sp-accent-red) !important; color:#fff !important; border:none !important;
	padding:0 24px; border-radius:100px; font-weight:600; font-size:.92rem; cursor:pointer; white-space:nowrap;
}
.spb-search button:hover{ background:var(--sp-accent-red-hover) !important; }

.spb-crumbs{ font-size:.85rem; color:var(--sp-text-cream-dim); margin-bottom:18px; }
.spb-crumbs a{ color:var(--sp-text-cream-dim) !important; text-decoration:none; }
.spb-crumbs a:hover{ color:var(--sp-text-cream) !important; text-decoration:underline; }
.spb-crumbs span{ color:var(--sp-text-cream); }

.spb-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.spb-chips a{
	font-size:.85rem; padding:7px 14px; border-radius:100px; text-decoration:none;
	color:var(--sp-text-cream) !important; border:1px solid rgba(246,241,231,.28); transition:background .2s ease;
}
.spb-chips a:hover{ background:rgba(246,241,231,.12); }

/* ---------- Portada de la entrada (imagen a ancho completo) ---------- */
.spb-hero-post{ min-height:clamp(380px,44vw,540px); display:flex; align-items:flex-end; padding-top:clamp(60px,9vw,120px); padding-bottom:clamp(30px,4.5vw,56px); margin-bottom:clamp(24px,3.5vw,44px); }  /* aire entre la portada y el texto */
/* El tema suma su propio espacio superior (varía según cada sitio): se anula para que el aire sea siempre el mismo. */
body.sp-blog-single [data-vertical-spacing*="top"]{ padding-top:0 !important; }
.spb-hero-media{ position:absolute; top:0; right:0; bottom:0; left:0; z-index:0; }
/* !important: algunos temas fijan height:auto en las imágenes y la dejaban a medias */
.spb-hero-bg{ display:block !important; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; }
.spb-hero-post.has-img::after{
	content:""; position:absolute; inset:0; z-index:1;
	background:linear-gradient(to top, rgba(16,21,28,.82) 0%, rgba(16,21,28,.45) 45%, rgba(16,21,28,.12) 100%);
}
.spb-hero-post .spb-hero-in{ position:relative; z-index:2; width:100%; }
.spb-hero-post h1{ max-width:900px; font-size:clamp(2rem,5vw,3.4rem); }
.spb-sub{ max-width:760px; font-size:clamp(1.05rem,1.8vw,1.25rem); line-height:1.55; color:var(--sp-text-cream) !important; opacity:.92; margin:0 0 18px; }
.spb-hero-meta{ font-size:.88rem; color:var(--sp-text-cream-dim) !important; margin:0 !important; }

/* ---------- Datos clave del artículo ---------- */
.spb-datos{
	background:#fff; border:1px solid #ece6da; border-left:5px solid var(--sp-accent-red);
	border-radius:12px; padding:18px 22px; margin:1.8em 0;
}
.spb-datos-t{ font-family:'Fraunces', serif; font-weight:500; font-size:1.15rem; margin:0 0 10px !important; color:var(--sp-text-dark); }
.spb-datos dl{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:14px 24px; margin:0; }
.spb-datos dt{ font-size:.75rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--sp-text-dark-dim); margin:0 0 2px; }
.spb-datos dd{ margin:0; font-weight:600; color:var(--sp-logo-green); }

/* ---------- Accesos por perfil (portada del blog) ---------- */
.spb-intents{ padding:clamp(32px,5vw,56px) clamp(20px,5vw,64px) 0; }
.spb-intents-in{
	max-width:1200px; margin:0 auto;
	display:grid; grid-template-columns:1fr 1fr; gap:clamp(22px,4vw,48px);
}
.spb-intent-col h2{
	font-family:'Fraunces', serif; font-weight:500; font-size:1.5rem; margin:0 0 4px; color:var(--sp-text-dark);
}
.spb-intent-sub{ color:var(--sp-text-dark-dim); font-size:.92rem; margin:0 0 16px; }
.spb-intent-list{ display:grid; gap:10px; }
.spb-intent-card{
	display:block; background:#fff; border:1px solid #ece6da; border-radius:12px; padding:14px 18px;
	text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.spb-intent-card:hover{ transform:translateY(-2px); border-color:var(--sp-logo-green); box-shadow:0 8px 20px rgba(20,15,10,.07); }
.spb-intent-card strong{ display:block; font-size:1rem; color:var(--sp-logo-green); margin-bottom:2px; }
.spb-intent-card span{ font-size:.88rem; color:var(--sp-text-dark-dim); }
.spb-latest-title{
	max-width:1200px; margin:clamp(34px,5vw,56px) auto 0; font-family:'Fraunces', serif; font-weight:500;
	font-size:1.6rem; color:var(--sp-text-dark);
}

/* ---------- Listado propio de artículos ---------- */
.spb-listado{ max-width:1320px; margin:0 auto; padding:clamp(28px,4vw,48px) clamp(20px,5vw,64px) clamp(40px,6vw,80px); }
.spb-layout{ display:grid; grid-template-columns:minmax(0, 1fr) 340px; gap:clamp(24px,3.4vw,44px); align-items:start; }
.spb-listado .spb-latest-title{ margin:0 0 22px; max-width:none; }
.spb-grid{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px; }
.spb-card{
	background:#fff; border-radius:16px; overflow:hidden; display:flex; flex-direction:column;
	box-shadow:0 2px 10px rgba(16,21,28,.08); transition:transform .25s ease, box-shadow .25s ease;
}
.spb-card:hover{ transform:translateY(-5px); box-shadow:0 14px 30px rgba(16,21,28,.15); }
.spb-card-img{ position:relative; display:block; aspect-ratio:16/9; background:#f2ede2; overflow:hidden; }
.spb-card-img img{ width:100% !important; height:100% !important; max-width:none !important; object-fit:cover; display:block; transition:transform .45s ease; }
.spb-card:hover .spb-card-img img{ transform:scale(1.05); }
.spb-card-ph{ display:flex; align-items:center; justify-content:center; width:100%; height:100%; font-size:3rem; background:linear-gradient(135deg, var(--sp-logo-green), #1f4d39); }
.spb-card-cat{
	position:absolute; left:14px; top:14px; z-index:1; padding:6px 12px; border-radius:100px;
	font-size:.72rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
	background:rgba(251,248,242,.95); color:var(--sp-logo-green);
}
.spb-card-body{ padding:22px 24px 24px; display:flex; flex-direction:column; gap:10px; flex:1; }
.spb-card h3{ font-family:'Fraunces', serif; font-weight:600; font-size:1.4rem; line-height:1.25; margin:0; }
.spb-card h3 a{ color:var(--sp-text-dark) !important; text-decoration:none; }
.spb-card h3 a:hover{ color:var(--sp-logo-green) !important; }
.spb-card-sub{ margin:0; font-size:.95rem; line-height:1.55; color:var(--sp-text-dark-dim); }
.spb-card-meta{ margin-top:auto; padding-top:2px; font-size:.8rem; color:var(--sp-text-dark-dim); }
.spb-card-btn{
	display:block; text-align:center; margin-top:6px; padding:12px 20px; border-radius:10px;
	background:var(--sp-accent-red); color:#fff !important; font-weight:600; font-size:.92rem; text-decoration:none !important;
	transition:background .2s ease, transform .2s ease;
}
.spb-card-btn:hover{ background:var(--sp-accent-red-hover); transform:translateY(-2px); }
.spb-vacio{ background:#fff; border:1px dashed #d9d0c2; border-radius:12px; padding:28px; text-align:center; color:var(--sp-text-dark-dim); }
.spb-pag ul{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; padding:0; margin:38px 0 0; }
.spb-pag a, .spb-pag span{ display:inline-block; padding:10px 16px; border-radius:10px; border:2px solid #ece6da; background:#fff; color:var(--sp-text-dark); text-decoration:none; font-size:.9rem; font-weight:600; }
.spb-pag a:hover{ border-color:var(--sp-logo-green); color:var(--sp-logo-green); }
.spb-pag .current{ background:var(--sp-accent-red); color:#fff; border-color:var(--sp-accent-red); }

/* ---------- Barra lateral ---------- */
.spb-side{ position:sticky; top:24px; display:grid; gap:18px; }
.spb-side-card{ background:#fff; border:1px solid #ece6da; border-radius:16px; padding:22px 22px 24px; box-shadow:0 2px 10px rgba(16,21,28,.05); }
.spb-side-main{ border-top:4px solid var(--sp-accent-red); }
.spb-side-ico{ display:block; font-size:1.7rem; margin-bottom:6px; }
.spb-side-card h3{ font-family:'Fraunces', serif; font-weight:600; font-size:1.2rem; line-height:1.3; margin:0 0 6px; color:var(--sp-text-dark); }
.spb-side-card p{ margin:0 0 14px; font-size:.92rem; line-height:1.55; color:var(--sp-text-dark-dim); }
.spb-side-link{ font-weight:600; font-size:.92rem; color:var(--sp-logo-green) !important; text-decoration:none; }
.spb-side-link:hover{ color:var(--sp-accent-red) !important; }

/* Barra de progreso de lectura */
.spb-progreso{ position:fixed; top:0; left:0; height:3px; width:0; background:var(--sp-accent-red); z-index:99999; pointer-events:none; transition:width .1s linear; }

/* ---------- Listado de entradas (tarjetas de Blocksy; tags, autor y búsqueda) ---------- */
body.sp-blog .entries .entry-card{
	background:#fff; border:1px solid #ece6da; border-radius:14px; overflow:hidden;
	box-shadow:0 6px 20px rgba(20,15,10,.05); transition:transform .15s ease, box-shadow .15s ease;
}
body.sp-blog .entries .entry-card:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(20,15,10,.09); }
body.sp-blog .entry-card .entry-title,
body.sp-blog .entry-card .entry-title a{
	font-family:'Fraunces', serif; font-weight:500; color:var(--sp-text-dark); text-decoration:none;
}
body.sp-blog .entry-card .entry-title a:hover{ color:var(--sp-logo-green); }
body.sp-blog .entry-card .ct-meta-element-categories a,
body.sp-blog .entry-meta [data-type="pill"] a{
	color:var(--sp-accent-red); font-weight:600; font-size:.78rem; letter-spacing:.03em; text-transform:uppercase;
}
body.sp-blog .ct-pagination .page-numbers.current{ background:var(--sp-accent-red); color:#fff; border-color:var(--sp-accent-red); }

/* ---------- Entrada individual ---------- */
body.sp-blog-single .entry-title, body.sp-blog-single .page-title{
	font-family:'Fraunces', serif; font-weight:500; line-height:1.18; color:var(--sp-text-dark);
}
body.sp-blog-single .entry-content{ font-size:1.06rem; line-height:1.75; }
body.sp-blog-single .entry-content h2,
body.sp-blog-single .entry-content h3{
	font-family:'Fraunces', serif; font-weight:500; color:var(--sp-text-dark); line-height:1.25; scroll-margin-top:24px;
}
body.sp-blog-single .entry-content h2{ margin-top:2.1em; }
body.sp-blog-single .entry-content a:not(.spb-btn):not(.sp-card){ color:var(--sp-logo-green); text-underline-offset:3px; }
body.sp-blog-single .entry-content a:not(.spb-btn):not(.sp-card):hover{ color:var(--sp-accent-red); }
body.sp-blog-single .entry-content blockquote{
	border-left:3px solid var(--sp-accent-gold); background:#fff; padding:14px 20px; border-radius:0 10px 10px 0;
}

.spb-meta{ font-size:.85rem; color:var(--sp-text-dark-dim); margin:0 0 18px; }

.spb-toc{
	background:#fff; border:1px solid #ece6da; border-radius:12px; padding:14px 20px; margin:0 0 28px;
}
.spb-toc summary{ cursor:pointer; font-weight:600; font-size:.95rem; color:var(--sp-text-dark); }
.spb-toc ol{ margin:12px 0 4px; padding-left:20px; font-size:.95rem; line-height:1.9; }

.spb-faq{ margin:2.4em 0 0; }
.spb-faq details{ background:#fff; border:1px solid #ece6da; border-radius:10px; padding:12px 18px; margin:0 0 10px; }
.spb-faq summary{ cursor:pointer; font-weight:600; color:var(--sp-text-dark); }
.spb-faq details[open] summary{ margin-bottom:8px; color:var(--sp-logo-green); }
.spb-faq details div p{ margin:0 0 .6em; }

/* ---------- Tablas dentro del artículo ---------- */
body.sp-blog-single .entry-content table{
	/* Ocupa el mismo ancho que el texto: sin max-width ni margen lateral propios,
	   así respeta el ancho de columna del tema (antes se salía del texto). */
	display:table; width:100%; border-collapse:collapse; font-size:.95rem;
	background:#fff; border:1px solid #ece6da; margin-top:1.4em; margin-bottom:1.4em;
}
@media (max-width:640px){
	body.sp-blog-single .entry-content table{ display:block; overflow-x:auto; }
}
body.sp-blog-single .entry-content table th,
body.sp-blog-single .entry-content table td{ padding:10px 14px; border:0; border-bottom:1px solid #ece6da; text-align:left; }
body.sp-blog-single .entry-content table thead th{ background:#f6f1e7; font-weight:600; color:var(--sp-text-dark); }
body.sp-blog-single .entry-content table tr:last-child td{ border-bottom:0; }

/* ---------- Imágenes del artículo ---------- */
.spb-fig{ margin:2em 0; }
.spb-fig img.spb-img{ display:block; width:100%; height:auto; border-radius:14px; border:1px solid #e3dccd; box-shadow:0 8px 26px rgba(16,21,28,.12); }  /* marco: las imágenes claras destacan sobre el fondo crema */
.spb-fig figcaption{ font-size:.85rem; color:var(--sp-text-dark-dim); margin-top:8px; }

/* ---------- Llamada a la acción ---------- */
.spb-cta{
	display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
	background:var(--sp-bg-dark); color:var(--sp-text-cream); border-radius:16px;
	padding:clamp(22px,4vw,32px); margin:2.6em 0 0;
}
.spb-cta h3{ font-family:'Fraunces', serif; font-weight:500; font-size:1.35rem; color:var(--sp-text-cream); margin:0 0 6px; }
.spb-cta p{ margin:0; color:var(--sp-text-cream-dim); font-size:.95rem; max-width:480px; line-height:1.55; }
.spb-cta a.spb-btn, a.spb-btn{
	display:inline-block; background:var(--sp-accent-red); color:#fff !important; text-decoration:none !important;
	font-weight:600; font-size:.95rem; padding:12px 26px; border-radius:100px; white-space:nowrap; transition:background .2s ease;
}
.spb-cta a.spb-btn:hover, a.spb-btn:hover{ background:var(--sp-accent-red-hover); }

/* ---------- Propiedades relacionadas ---------- */
.spb-props{ margin:2.6em 0 0; }
.spb-props-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:14px; }
.spb-props-head h2{ font-family:'Fraunces', serif; font-weight:500; font-size:1.4rem; margin:0; }
.spb-props-head a{ font-size:.9rem; font-weight:600; color:var(--sp-accent-red) !important; text-decoration:none; }
.spb-props .sp-grid{ margin-bottom:0; }

/* ---------- Móvil ---------- */
@media (max-width:1100px){
	.spb-layout{ grid-template-columns:1fr; }
	.spb-side{ position:static; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); }
}
@media (max-width:760px){
	.spb-grid{ grid-template-columns:1fr; }
	.spb-intents-in{ grid-template-columns:1fr; }
	.spb-search{ flex-direction:column; }
	.spb-search button{ padding:12px 24px; }
	.spb-cta{ flex-direction:column; align-items:flex-start; }
}

/* ---------- Final del artículo: enlace "Editar" y comentarios ---------- */
/* El enlace "Editar" solo lo ve quien tiene sesión iniciada con permiso para editar; igual se oculta en el blog
   (para editar se usa la barra negra de WordPress o el panel). */
body.sp-blog-single .post-edit-link,
body.sp-blog-single .edit-link,
body.sp-blog-single .ct-edit-link{ display:none !important; }

/* Botón de comentarios y campos con los colores de la marca (el tema los trae en azul). */
body.sp-blog-single{ --spb-accion:var(--sp-accent-red); --spb-accion-hover:var(--sp-accent-red-hover); }
body.sp-blog-single .comment-respond .form-submit .submit,
body.sp-blog-single .comment-respond input[type="submit"],
body.sp-blog-single .comment-form .submit,
body.sp-blog-single .comment-respond button[type="submit"]{
	background:var(--spb-accion) !important; color:#fff !important; border:0 !important; border-radius:100px !important;
	padding:12px 26px !important; font-weight:600 !important; cursor:pointer; transition:background .2s ease, transform .2s ease;
}
body.sp-blog-single .comment-respond .form-submit .submit:hover,
body.sp-blog-single .comment-respond input[type="submit"]:hover,
body.sp-blog-single .comment-form .submit:hover,
body.sp-blog-single .comment-respond button[type="submit"]:hover{ background:var(--spb-accion-hover) !important; transform:translateY(-1px); }
body.sp-blog-single .comment-respond textarea:focus,
body.sp-blog-single .comment-respond input[type="text"]:focus,
body.sp-blog-single .comment-respond input[type="email"]:focus,
body.sp-blog-single .comment-respond input[type="url"]:focus{ border-color:var(--sp-logo-green) !important; outline:2px solid rgba(45,106,79,.25) !important; outline-offset:0; box-shadow:none !important; }
body.sp-blog-single .comment-respond a{ color:var(--sp-logo-green) !important; }
body.sp-blog-single .comment-reply-title{ font-family:'Fraunces', serif; font-weight:500; color:var(--sp-text-dark); }

/* El título de la llamada a la acción se perdía cuando el tema pintaba los H3 en oscuro sobre el fondo oscuro. */
.spb-cta h3{ color:var(--sp-text-cream) !important; }
.spb-cta p{ color:var(--sp-text-cream-dim) !important; }

/* ---------- Subtítulos dentro del artículo: tamaño, peso y espacio propios (no dependen del tema) ---------- */
body.sp-blog-single .entry-content h2{
	font-family:'Fraunces', serif !important; font-weight:600 !important; color:var(--sp-text-dark) !important;
	font-size:clamp(1.55rem, 2.8vw, 2.05rem) !important; line-height:1.22 !important; margin-top:2em !important; margin-bottom:.55em !important;
}
body.sp-blog-single .entry-content h3{
	font-family:'Fraunces', serif !important; font-weight:600 !important; color:var(--sp-text-dark) !important;
	font-size:clamp(1.2rem, 2.1vw, 1.45rem) !important; line-height:1.3 !important; margin-top:1.6em !important; margin-bottom:.45em !important;
}
body.sp-blog-single .entry-content h2 + p, body.sp-blog-single .entry-content h3 + p{ margin-top:0; }
/* Los cuadros propios del plugin conservan sus títulos */
body.sp-blog-single .entry-content .spb-cta h3{ font-family:'Fraunces', serif !important; font-size:1.35rem !important; margin-top:0 !important; margin-bottom:6px !important; color:var(--sp-text-cream) !important; }

/* ---------- Espacio entre el final del artículo y los comentarios ---------- */
body.sp-blog-single [data-vertical-spacing*="bottom"]{ padding-bottom:0 !important; }
body.sp-blog-single #main{ padding-bottom:clamp(32px,4vw,56px); }
body.sp-blog-single .entry-content{ margin-bottom:0 !important; }
body.sp-blog-single .ct-comments-container{ margin-top:clamp(18px,2.6vw,30px) !important; padding-top:0 !important; }
body.sp-blog-single #comments, body.sp-blog-single .comments-area, body.sp-blog-single .ct-comments,
body.sp-blog-single .comment-respond{ margin-top:0 !important; padding-top:0 !important; }

/* ---------- Legibilidad (v+): subtítulos y textos más grandes y con más contraste ---------- */
.spb-hero.has-img:not(.spb-hero-post){
	background:linear-gradient(rgba(16,21,28,.66), rgba(16,21,28,.52)), var(--spb-hero-img) center / cover no-repeat;
	background-color:var(--sp-bg-dark);
}
.spb-eyebrow{ font-size:.9rem; font-weight:700; letter-spacing:.1em; }
.spb-hero p, .spb-hero-desc{
	color:var(--sp-text-cream); font-size:clamp(1.15rem,2vw,1.35rem); line-height:1.6;
	text-shadow:0 1px 12px rgba(0,0,0,.45);
}
.spb-hero-in > p, .spb-hero-in > .spb-hero-desc{ max-width:780px; }
.spb-search{ max-width:620px; }
.spb-search input[type="search"]{ font-size:1.05rem; padding:15px 20px; }
.spb-search input[type="search"]::placeholder{ color:var(--sp-text-cream); opacity:.85; }
.spb-sub{ font-size:clamp(1.15rem,2vw,1.4rem); line-height:1.6; opacity:1; text-shadow:0 1px 12px rgba(0,0,0,.4); }

.spb-intent-col h2{ font-size:1.75rem; }
.spb-intent-sub{ color:#4a4238; font-size:1.1rem; line-height:1.5; }
.spb-intent-card{ padding:16px 20px; }
.spb-intent-card strong{ font-size:1.12rem; }
.spb-intent-card span{ font-size:1.02rem; line-height:1.5; color:#4a4238; }

.spb-card h3{ font-size:1.5rem; }
.spb-card-sub{ font-size:1.08rem; line-height:1.6; color:#4a4238; }
.spb-card-meta{ font-size:.9rem; color:#5a5148; }

body.sp-blog-single .entry-content{ font-size:1.14rem; line-height:1.8; color:#2b2620; }
