/**

 * Páginas interiores — shell moderno (encapsulado bajo .sh-page)

 * Tokens alineados a la home aprobada (sh-home.css).

 */



.sh-page {

	--sh-page-bg: #F8FAFC;

	--sh-page-white: #FFFFFF;

	--sh-page-text: #0F172A;

	--sh-page-muted: #64748B;

	--sh-page-primary: #3F6FE0;

	--sh-page-border: #E2E8F0;

	--sh-page-dark: #08111F;

	--sh-page-section-y: clamp(3rem, 6vw, 5rem);

	background: var(--sh-page-bg);

	color: var(--sh-page-text);

	overflow-x: clip;

}



/* --- Hero interior (escala segurishop4/modules — variante oscura SH2) --- */

.sh-page-hero {

	background: linear-gradient(180deg, var(--sh-page-dark) 0%, #0a1628 100%);

	overflow: hidden;

	padding: 160px 0 88px;

	position: relative;

}



.sh-page-hero::before {

	background-image:

		linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),

		linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);

	background-size: 40px 40px;

	content: "";

	inset: 0;

	pointer-events: none;

	position: absolute;

	z-index: 0;

}



.sh-page-hero .container {

	position: relative;

	z-index: 1;

}



.sh-page-hero__eyebrow {

	align-items: center;

	background-color: rgba(63, 111, 224, 0.14);

	border: 1px solid rgba(63, 111, 224, 0.28);

	border-radius: 100px;

	color: rgba(255, 255, 255, 0.88);

	display: inline-flex;

	font-size: 12px;

	font-weight: 600;

	gap: 7px;

	letter-spacing: 0.06em;

	line-height: 1.5;

	margin-bottom: 28px;

	padding: 6px 16px;

	text-transform: uppercase;

}



.sh-page-hero__title {

	color: #fff;

	font-size: clamp(2rem, 2.8vw + 0.4rem, 2.9rem);

	font-weight: 700;

	letter-spacing: -0.04em;

	line-height: 1.2;

	margin-bottom: 22px;

}



.sh-page-hero__sub {

	color: rgba(255, 255, 255, 0.76);

	font-size: 17px;

	font-weight: 400;

	line-height: 1.72;

	margin: 0 auto 36px;

	max-width: 600px;

}



.sh-page-hero__scroll {

	margin-top: 8px;

}



.sh-page-hero .sh-pw-scroll-down {

	border-color: rgba(255, 255, 255, 0.35);

	color: #fff;

	cursor: pointer;

}



.sh-page-hero .sh-pw-scroll-down:hover {

	background-color: rgba(255, 255, 255, 0.08);

	border-color: #fff;

	color: #fff;

}



.sh-page-hero__breadcrumb .breadcrumb-item,

.sh-page-hero__breadcrumb .breadcrumb-item a {

	color: rgba(255, 255, 255, 0.72);

}



.sh-page-hero__breadcrumb .breadcrumb-item.active {

	color: rgba(255, 255, 255, 0.92);

}



.sh-page-hero__breadcrumb .breadcrumb-item a:hover {

	color: #fff;

}



.sh-page-hero__breadcrumb .breadcrumb-item + .breadcrumb-item::before {

	color: rgba(255, 255, 255, 0.45);

}



.sh-page-body {

	padding-bottom: var(--sh-page-section-y);

}

.sh-page--buy .sh-page-body--buy {
	padding-top: 0;
}

.sh-page--buy #cuenta-buy.sh-buy-section {
	padding-top: 30px;
}

/* buy sin plan / plan inválido: hero y bloque de error compactos (sin hueco vacío) */
body:has(.sh-buy-card--error) .sh-page-hero,
.sh-page--buy:has(.sh-buy-card--error) .sh-page-hero {
	padding: 120px 0 40px;
}

body:has(.sh-buy-card--error) .sh-page-hero__scroll,
.sh-page--buy:has(.sh-buy-card--error) .sh-page-hero__scroll {
	display: none;
}

body:has(.sh-buy-card--error) #cuenta-buy.sh-buy-section,
.sh-page--buy:has(.sh-buy-card--error) #cuenta-buy.sh-buy-section {
	padding-top: 24px;
	padding-bottom: 48px;
}

@media (max-width: 991px) {
	body:has(.sh-buy-card--error) .sh-page-hero,
	.sh-page--buy:has(.sh-buy-card--error) .sh-page-hero {
		padding: 100px 0 32px;
	}
}



@media (max-width: 991px) {

	.sh-page-hero {

		padding: 110px 0 72px;

	}



	.sh-page-hero__eyebrow {

		font-size: 11px;

		margin-bottom: 22px;

		padding: 5px 13px;

	}



	.sh-page-hero__title {

		font-size: 2rem;

		letter-spacing: -0.03em;

	}



	.sh-page-hero__sub {

		font-size: 15px;

		margin-bottom: 28px;

	}

}



/* --- FAQ (acordeones — patrón segurishop4/modules/faq.php) --- */

.sh-page--faq .sh-page-body--faq .bg-white,

.sh-page--faq .sh-page-body--faq .sh-bg-light {

	padding: var(--sh-page-section-y) 0;

}



/* Anula reglas legacy #faq (home oscuro) en el módulo faq.php */

.sh-page--faq #faq > .container > .row.justify-content-center .text-dark-gray {

	color: var(--sh-page-text) !important;

}



.sh-page--faq .sh-bg-light {

	background: #EEF3FD;

}



.sh-page--faq .sh-faq-item__body a {

	color: var(--sh-page-primary);

	text-decoration: underline;

	text-underline-offset: 2px;

}



.sh-page--faq .sh-faq-item__body p:last-child {

	margin-bottom: 0;

}



/* --- Nosotros (dos columnas — referencia estructural contacto.php) --- */

.sh-page--nosotros .sh-page-nosotros-block {

	background: var(--sh-page-white);

}



.sh-page--nosotros .sh-page-nosotros-block--alt {

	background: #EEF3FD;

}



.sh-page--nosotros .sh-page-nosotros-copy {

	padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 3rem);

}



.sh-page--nosotros .sh-page-nosotros-copy p {

	color: var(--sh-page-muted);

	font-size: 1rem;

	line-height: 1.75;

	margin-bottom: 0;

}



.sh-page--nosotros .sh-page-nosotros-heading {

	color: var(--sh-page-text);

	font-size: 1.35rem;

	font-weight: 700;

	margin: 0 0 1rem;

}



.sh-page--nosotros .sh-page-nosotros-heading + p {

	margin-bottom: 2rem;

}



.sh-page--nosotros .sh-page-nosotros-heading:last-of-type {

	margin-top: 0.5rem;

}



.sh-page--nosotros .sh-page-nosotros-media {

	background-position: center;

	background-repeat: no-repeat;

	background-size: cover;

	min-height: 280px;

}



@media (min-width: 992px) {

	.sh-page--nosotros .sh-page-nosotros-media {

		min-height: 100%;

	}

}



/* --- Portafolio (grid Crafto — patrón segurishop4/modules/portafolio.php) --- */

.sh-page--portfolio .sh-page-body--portfolio {

	padding-bottom: 0;

}



.sh-page--portfolio #portafolio.bg-very-light-gray {

	background: #f3f4f6;

}



.sh-page--portfolio .portfolio-caption a:hover {

	color: var(--sh-page-primary);

}



/* --- Términos (legal — patrón segurishop4/modules/terminos.php) --- */

.sh-page--terminos .half-section,

.sh-page--terminos-descuentos .half-section {

	padding: var(--sh-page-section-y) 0;

}



.sh-page--terminos .sh-page-terminos-steps {

	list-style: none;

	margin: 0;

	padding: 0;

}



.sh-page--terminos .sh-page-terminos-steps .step {

	border-bottom: 1px solid #dee2e6;

	margin-bottom: 2rem;

	padding-bottom: 1.5rem;

}



.sh-page--terminos .sh-page-terminos-steps .step:last-child {

	border-bottom: none;

	margin-bottom: 0;

	padding-bottom: 0;

}



.sh-page--terminos .sh-page-terminos-steps .step-number {

	color: #6c757d;

	display: block;

	font-size: 0.72rem;

	font-weight: 700;

	letter-spacing: 0.08em;

	margin-bottom: 0.25rem;

	text-transform: uppercase;

}



.sh-page--terminos .sh-page-terminos-steps .step-title {

	color: #212529;

	font-size: 1.25rem;

	font-weight: 700;

	margin-bottom: 0.75rem;

}



.sh-page--terminos .sh-page-terminos-steps .step-content {

	color: #212529;

	font-size: 15px;

	line-height: 1.75;

}



.sh-page--terminos .sh-page-terminos-steps .step-content ol {

	margin: 0.75rem 0 0;

	padding-left: 1.25rem;

}



.sh-page--terminos-descuentos .sh-page-terminos-desc-body .subtitle_page {

	background: #e8eef4;

	border-left: 4px solid #1a3c5e;

	border-radius: 0 4px 4px 0;

	color: #1a3c5e;

	font-size: 1.05rem;

	font-weight: 700;

	margin: 2rem 0 1rem;

	padding: 0.55rem 1rem;

}



.sh-page--terminos-descuentos .sh-page-terminos-desc-body .subtitle_page:first-child {

	margin-top: 0;

}



/* --- Mapa del sitio (índice multi-columna — sin referencia directa SH4) --- */

.sh-page--sitemap .sh-page-sitemap-section {

	background: var(--sh-page-white);

	padding: var(--sh-page-section-y) 0;

}



.sh-page--sitemap .sh-page-sitemap-group {

	background: #fff;

	border: 1px solid var(--sh-page-border);

	border-radius: 12px;

	height: 100%;

	padding: 1.5rem 1.35rem;

}



.sh-page--sitemap .sh-page-sitemap-heading {

	color: var(--sh-page-text);

	font-size: 1.05rem;

	font-weight: 700;

	margin: 0 0 1rem;

}



.sh-page--sitemap .sh-page-sitemap-list {

	list-style: none;

	margin: 0;

	padding: 0;

}



.sh-page--sitemap .sh-page-sitemap-list li + li {

	margin-top: 0.45rem;

}



.sh-page--sitemap .sh-page-sitemap-list a {

	color: var(--sh-page-muted);

	font-size: 0.95rem;

	line-height: 1.5;

	text-decoration: none;

}



.sh-page--sitemap .sh-page-sitemap-list a:hover {

	color: var(--sh-page-primary);

	text-decoration: underline;

	text-underline-offset: 2px;

}



/* --- Hosting WordPress (wphosting — referencia hosting-wordpress.php SH4) --- */

.sh-page--wphosting .sh-page-hero__sub--secondary {

	margin-top: -12px;

}



.sh-page--wphosting .sh-page-body--wphosting {

	padding-bottom: 0;

}



.sh-page-wphosting-section {

	padding: var(--sh-page-section-y) 0;

}



.sh-page-wphosting-section--muted {

	background: #EEF3FD;

}



.sh-page-wphosting-heading {

	color: var(--sh-page-text);

	font-size: clamp(1.35rem, 1.5vw + 0.5rem, 1.75rem);

	font-weight: 700;

	letter-spacing: -0.03em;

	margin: 0;

}



.sh-page-wphosting-eyebrow {

	color: var(--sh-page-primary);

	display: block;

	font-size: 12px;

	font-weight: 600;

	letter-spacing: 0.08em;

	margin-bottom: 12px;

	text-transform: uppercase;

}



.sh-page-wphosting-incluye-item {

	align-items: center;

	background: #fff;

	border: 1px solid #e4e4e4;

	border-radius: 8px;

	color: #232323;

	display: flex;

	font-size: 14px;

	gap: 10px;

	height: 100%;

	line-height: 1.4;

	min-height: 0;

	padding: 14px 16px;

}



.sh-page-wphosting-incluye-item i {

	color: var(--sh-page-primary);

	flex-shrink: 0;

}



/* Cards pricing — estructura SH4 (pricing-table-style-08) */

.sh-page--wphosting #pricing1 .sh-pw-plan-price {

	font-size: clamp(2rem, 2vw + 1rem, 2.75rem);

}



.sh-page--wphosting #pricing1 .sh-pw-plan-featured .pricing-table {

	border: 2px solid var(--sh-page-primary);

}



.sh-page--wphosting .sh-pw-comparativa .planes-table {

	margin-top: 0;

}



.sh-page-wphosting-table-hint {

	color: var(--sh-page-muted);

	font-size: 13px;

	margin-top: 0.75rem;

}



.sh-page-wphosting-promo-badge {

	background: rgba(63, 111, 224, 0.12);

	border-radius: 999px;

	color: var(--sh-page-primary);

	display: inline-block;

	font-size: 11px;

	font-style: normal;

	font-weight: 700;

	margin-left: 6px;

	padding: 2px 8px;

	vertical-align: middle;

}



/* Ocultar thead original mientras el clon flotante está activo */

.sh-page--wphosting .sh-pw-ct.sh-pw-thead-is-floating thead {

	visibility: hidden;

}



/* Sticky thead flotante — wphosting (js/sh-wphosting-comparison-table.js) */

.sh-page-wphosting-sticky-wrap {

	position: fixed;

	display: none;

	z-index: 600;

	overflow: hidden;

	pointer-events: none;

	box-sizing: border-box;

	background: #fff;

}



.sh-page-wphosting-sticky-wrap table.sh-pw-ct {

	margin: 0;

	border-radius: 0;

	border-collapse: separate;

	border-spacing: 0;

	table-layout: fixed;

	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	font-size: 14px;

	background: #fff;

	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.1);

	border-bottom: 2px solid #e2e8f0;

	will-change: transform;

}



.sh-page-wphosting-sticky-wrap thead tr th {

	background: #fff !important;

	background-clip: padding-box;

	border-bottom: 2px solid #e2e8f0;

	padding: 22px 20px;

	font-size: 15px;

	font-weight: 700;

	color: #0f172a;

	text-align: center;

	vertical-align: bottom;

	white-space: nowrap;

	box-sizing: border-box;

}



.sh-page-wphosting-sticky-wrap thead tr th:first-child {

	position: -webkit-sticky;

	position: sticky;

	left: 0;

	z-index: 3;

	text-align: left;

	color: #64748b;

	font-size: 12px;

	font-weight: 600;

	text-transform: uppercase;

	letter-spacing: 0.06em;

	box-shadow: 2px 0 6px rgba(15, 23, 42, 0.06);

}



.sh-page-wphosting-sticky-wrap thead tr th:nth-child(3) {

	background: #f3f7ff !important;

	border-top: 3px solid #3f6fe0;

	color: #3f6fe0;

}



.sh-page-wphosting-sticky-wrap table.sh-pw-ct.sh-pw-featured-col-4 thead tr th:nth-child(3) {

	background: #fff !important;

	border-top: none;

	color: #0f172a;

}



.sh-page-wphosting-sticky-wrap table.sh-pw-ct.sh-pw-featured-col-4 thead tr th:nth-child(4) {

	background: #f3f7ff !important;

	border-top: 3px solid #3f6fe0;

	color: #3f6fe0;

}



@media (max-width: 767px) {

	.sh-page-wphosting-sticky-wrap table.sh-pw-ct {

		min-width: 780px;

	}

	.sh-page-wphosting-sticky-wrap .sh-pw-col-features {

		width: 168px;

	}

	.sh-page-wphosting-sticky-wrap thead tr th {

		padding: 11px 12px;

		font-size: 13px;

	}

	.sh-page-wphosting-sticky-wrap thead tr th:first-child {

		width: 168px;

		min-width: 168px;

		max-width: 168px;

		font-size: 12px;

	}

}



.sh-page-wphosting-info-card {

	border: none;

}



.sh-page-wphosting-info-card .feature-box-icon {

	line-height: 1;

}



.sh-page-wphosting-info-card__title {

	margin: 0;

}



.sh-page-wphosting-cta {

	background: linear-gradient(180deg, var(--sh-page-dark) 0%, #0a1628 100%);

	padding: clamp(3rem, 6vw, 4.5rem) 0;

}



.sh-page-wphosting-cta__title {

	color: #fff;

	font-size: clamp(1.5rem, 2vw + 0.5rem, 2rem);

	font-weight: 700;

	margin-bottom: 1rem;

}



.sh-page-wphosting-cta__text {

	color: rgba(255, 255, 255, 0.76);

	line-height: 1.7;

	margin-bottom: 1.5rem;

}



/* --- Hosting WooCommerce (woohosting — referencia hosting-woocommerce.php SH4) --- */

.sh-page--woohosting .sh-page-hero__sub--secondary {

	margin-top: -12px;

}



.sh-page--woohosting .sh-page-body--woohosting {

	padding-bottom: 0;

}



.sh-page--woohosting #pricing1 .sh-pw-plan-price {

	font-size: clamp(2rem, 2vw + 1rem, 2.75rem);

}



.sh-page--woohosting #pricing1 .sh-pw-plan-featured .pricing-table {

	border: 2px solid var(--sh-page-primary);

}



.sh-page--woohosting .sh-pw-comparativa .planes-table {

	margin-top: 0;

}



.sh-page--woohosting .sh-pw-ct.sh-pw-thead-is-floating thead {

	visibility: hidden;

}



.sh-page-woohosting-sticky-wrap {

	position: fixed;

	display: none;

	z-index: 600;

	overflow: hidden;

	pointer-events: none;

	box-sizing: border-box;

	background: #fff;

}



.sh-page-woohosting-sticky-wrap table.sh-pw-ct {

	margin: 0;

	border-radius: 0;

	border-collapse: separate;

	border-spacing: 0;

	table-layout: fixed;

	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	font-size: 14px;

	background: #fff;

	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.1);

	border-bottom: 2px solid #e2e8f0;

	will-change: transform;

}



.sh-page-woohosting-sticky-wrap thead tr th {

	background: #fff !important;

	background-clip: padding-box;

	border-bottom: 2px solid #e2e8f0;

	padding: 22px 20px;

	font-size: 15px;

	font-weight: 700;

	color: #0f172a;

	text-align: center;

	vertical-align: bottom;

	white-space: nowrap;

	box-sizing: border-box;

}



.sh-page-woohosting-sticky-wrap thead tr th:first-child {

	position: -webkit-sticky;

	position: sticky;

	left: 0;

	z-index: 3;

	text-align: left;

	color: #64748b;

	font-size: 12px;

	font-weight: 600;

	text-transform: uppercase;

	letter-spacing: 0.06em;

	box-shadow: 2px 0 6px rgba(15, 23, 42, 0.06);

}



.sh-page-woohosting-sticky-wrap thead tr th:nth-child(4) {

	background: #f3f7ff !important;

	border-top: 3px solid #3f6fe0;

	color: #3f6fe0;

}



@media (max-width: 767px) {

	.sh-page-woohosting-sticky-wrap table.sh-pw-ct {

		min-width: 780px;

	}

	.sh-page-woohosting-sticky-wrap .sh-pw-col-features {

		width: 168px;

	}

	.sh-page-woohosting-sticky-wrap thead tr th {

		padding: 11px 12px;

		font-size: 13px;

	}

	.sh-page-woohosting-sticky-wrap thead tr th:first-child {

		width: 168px;

		min-width: 168px;

		max-width: 168px;

		font-size: 12px;

	}

}



/* --- Hosting SSD (hosting — referencia hosting-wordpress.php SH4) --- */

.sh-page--hosting .sh-page-hero__sub--secondary {

	margin-top: -12px;

}



.sh-page--hosting .sh-page-body--hosting {

	padding-bottom: 0;

}



.sh-page-hosting-hero-note {

	background: rgba(63, 111, 224, 0.12);

	border: 1px solid rgba(63, 111, 224, 0.22);

	border-radius: 12px;

	color: rgba(255, 255, 255, 0.9);

	font-size: 0.95rem;

	line-height: 1.6;

	margin: 1.25rem auto 0;

	max-width: 640px;

	padding: 1rem 1.25rem;

}



.sh-page-hosting-hero-note__link {

	color: #fff;

	display: inline-block;

	font-weight: 600;

	margin-top: 0.5rem;

	text-decoration: underline;

	text-underline-offset: 3px;

}



.sh-page-hosting-hero-note__link:hover {

	color: #fff;

	opacity: 0.9;

}



.sh-page--hosting #pricing1 .sh-pw-plan-price {

	font-size: clamp(1.75rem, 1.5vw + 0.75rem, 2.35rem);

}



.sh-page--hosting #pricing1 .sh-pw-plan-featured .pricing-table {

	border: 2px solid var(--sh-page-primary);

}



.sh-page--hosting .sh-pw-comparativa .planes-table {

	margin-top: 0;

}



.sh-page--hosting .sh-pw-ct.sh-pw-thead-is-floating thead {

	visibility: hidden;

}



.sh-page--hosting .sh-pw-table-v2 .sh-pw-ct.sh-pw-plans-5 {

	min-width: 920px;

}



.sh-page-hosting-sticky-wrap {

	position: fixed;

	display: none;

	z-index: 600;

	overflow: hidden;

	pointer-events: none;

	box-sizing: border-box;

	background: #fff;

}



.sh-page-hosting-sticky-wrap table.sh-pw-ct {

	margin: 0;

	border-radius: 0;

	border-collapse: separate;

	border-spacing: 0;

	table-layout: fixed;

	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	font-size: 14px;

	background: #fff;

	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.1);

	border-bottom: 2px solid #e2e8f0;

	will-change: transform;

}



.sh-page-hosting-sticky-wrap thead tr th {

	background: #fff !important;

	background-clip: padding-box;

	border-bottom: 2px solid #e2e8f0;

	padding: 22px 20px;

	font-size: 15px;

	font-weight: 700;

	color: #0f172a;

	text-align: center;

	vertical-align: bottom;

	white-space: nowrap;

	box-sizing: border-box;

}



.sh-page-hosting-sticky-wrap thead tr th:first-child {

	position: -webkit-sticky;

	position: sticky;

	left: 0;

	z-index: 3;

	text-align: left;

	color: #64748b;

	font-size: 12px;

	font-weight: 600;

	text-transform: uppercase;

	letter-spacing: 0.06em;

	box-shadow: 2px 0 6px rgba(15, 23, 42, 0.06);

}



.sh-page-hosting-sticky-wrap thead tr th:nth-child(4) {

	background: #f3f7ff !important;

	border-top: 3px solid #3f6fe0;

	color: #3f6fe0;

}



@media (max-width: 767px) {

	.sh-page-hosting-sticky-wrap table.sh-pw-ct {

		min-width: 920px;

	}

	.sh-page-hosting-sticky-wrap .sh-pw-col-features {

		width: 168px;

	}

	.sh-page-hosting-sticky-wrap thead tr th {

		padding: 11px 12px;

		font-size: 13px;

	}

	.sh-page-hosting-sticky-wrap thead tr th:first-child {

		width: 168px;

		min-width: 168px;

		max-width: 168px;

		font-size: 12px;

	}

}



/* --- Servidores VPS (vps — patrón hosting-wordpress.php / wphosting moderno) --- */

.sh-page--vps .sh-page-body--vps {

	padding-bottom: 0;

}



.sh-page--vps #pricing1 .sh-pw-plan-price {

	font-size: clamp(1.75rem, 1.5vw + 0.75rem, 2.35rem);

}



.sh-page--vps #pricing1 .sh-pw-plan-featured .pricing-table {

	border: 2px solid var(--sh-page-primary);

}



@media (min-width: 992px) {

	.sh-page--vps #pricing1 .pricing-table-style-08 {

		margin-bottom: 20px;

	}

}



.sh-page--vps .sh-pw-comparativa .planes-table {

	margin-top: 0;

}



.sh-page--vps .sh-pw-ct.sh-pw-thead-is-floating thead {

	visibility: hidden;

}



.sh-page--vps .sh-pw-table-v2 .sh-pw-ct.sh-pw-plans-8 {

	min-width: 1500px;

}



.sh-page-vps-sticky-wrap {

	position: fixed;

	display: none;

	z-index: 600;

	overflow: hidden;

	pointer-events: none;

	box-sizing: border-box;

	background: #fff;

}



.sh-page-vps-sticky-wrap table.sh-pw-ct {

	margin: 0;

	border-radius: 0;

	border-collapse: separate;

	border-spacing: 0;

	table-layout: fixed;

	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	font-size: 14px;

	background: #fff;

	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.1);

	border-bottom: 2px solid #e2e8f0;

	will-change: transform;

}



.sh-page-vps-sticky-wrap thead tr th {

	background: #fff !important;

	background-clip: padding-box;

	border-bottom: 2px solid #e2e8f0;

	padding: 22px 16px;

	font-size: 14px;

	font-weight: 700;

	color: #0f172a;

	text-align: center;

	vertical-align: bottom;

	white-space: nowrap;

	box-sizing: border-box;

}



.sh-page-vps-sticky-wrap thead tr th:first-child {

	position: -webkit-sticky;

	position: sticky;

	left: 0;

	z-index: 3;

	text-align: left;

	color: #64748b;

	font-size: 12px;

	font-weight: 600;

	text-transform: uppercase;

	letter-spacing: 0.06em;

	box-shadow: 2px 0 6px rgba(15, 23, 42, 0.06);

}



.sh-page-vps-sticky-wrap thead tr th:nth-child(4) {

	background: #f3f7ff !important;

	border-top: 3px solid #3f6fe0;

	color: #3f6fe0;

}



@media (max-width: 767px) {

	.sh-page-vps-sticky-wrap table.sh-pw-ct {

		min-width: 1500px;

	}

	.sh-page-vps-sticky-wrap .sh-pw-col-features {

		width: 168px;

	}

	.sh-page-vps-sticky-wrap thead tr th {

		padding: 11px 10px;

		font-size: 12px;

	}

	.sh-page-vps-sticky-wrap thead tr th:first-child {

		width: 168px;

		min-width: 168px;

		max-width: 168px;

		font-size: 12px;

	}

}



/* --- Mantención WordPress (mantencion-wordpress — ref. mantencion-woocommerce.php SH4) --- */

.sh-page--mantencion-wordpress .sh-page-body--mantencion-wordpress {

	padding-bottom: 0;

}



.sh-page--mantencion-wordpress #pricing1 .sh-pw-plan-price {

	font-size: clamp(1.75rem, 1.5vw + 0.75rem, 2.35rem);

}



.sh-page--mantencion-wordpress #pricing1 .sh-pw-plan-featured .pricing-table {

	border: 2px solid var(--sh-page-primary);

}



.sh-page--mantencion-wordpress .sh-pw-comparativa .planes-table {

	margin-top: 0;

}



.sh-page--mantencion-wordpress .sh-pw-ct.sh-pw-thead-is-floating thead {

	visibility: hidden;

}



.sh-page--mantencion-wordpress .sh-pw-table-v2 .sh-pw-ct.sh-pw-plans-3 {

	min-width: 920px;

}



.sh-page--mantencion-wordpress .sh-pw-table-v2 .sh-pw-ct.sh-pw-featured-col-2 tbody tr:not(.header-table):not(.contratar) td:nth-child(2),

.sh-page--mantencion-wordpress .sh-pw-table-v2 .sh-pw-ct.sh-pw-featured-col-2 tbody tr:not(.header-table):not(.contratar):hover td:nth-child(2) {

	background: #f8fbff;

}



.sh-page--mantencion-wordpress .sh-pw-table-v2 .sh-pw-ct.sh-pw-featured-col-2 thead tr th:nth-child(2) {

	background: #f3f7ff !important;

	border-top: 3px solid #3f6fe0;

	color: #3f6fe0;

}

/* Condiciones bajo tabla — ref. tienda-shopify.php SH4 (notas comerciales) */
.sh-page--mantencion-wordpress .sh-mw-condiciones-notas .tc-list {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
	margin: 0.75rem 0;
}
.sh-page--mantencion-wordpress .sh-mw-condiciones-notas .tc-list > li {
	position: relative;
	padding-left: 1.1em;
	margin-bottom: 0.5rem;
}
.sh-page--mantencion-wordpress .sh-mw-condiciones-notas .tc-list > li::before {
	content: '\203A';
	position: absolute;
	left: 0;
	color: #3F6FE0;
	font-weight: 600;
}



.sh-page-mantencion-wordpress-sticky-wrap {

	position: fixed;

	display: none;

	z-index: 600;

	overflow: hidden;

	pointer-events: none;

	box-sizing: border-box;

	background: #fff;

}



.sh-page-mantencion-wordpress-sticky-wrap table.sh-pw-ct {

	margin: 0;

	border-radius: 0;

	border-collapse: separate;

	border-spacing: 0;

	table-layout: fixed;

	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	font-size: 14px;

	background: #fff;

	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.1);

	border-bottom: 2px solid #e2e8f0;

	will-change: transform;

}



.sh-page-mantencion-wordpress-sticky-wrap thead tr th {

	background: #fff !important;

	background-clip: padding-box;

	border-bottom: 2px solid #e2e8f0;

	padding: 22px 20px;

	font-size: 15px;

	font-weight: 700;

	color: #0f172a;

	text-align: center;

	vertical-align: bottom;

	white-space: nowrap;

	box-sizing: border-box;

}



.sh-page-mantencion-wordpress-sticky-wrap thead tr th:first-child {

	position: -webkit-sticky;

	position: sticky;

	left: 0;

	z-index: 3;

	text-align: left;

	color: #64748b;

	font-size: 12px;

	font-weight: 600;

	text-transform: uppercase;

	letter-spacing: 0.06em;

	box-shadow: 2px 0 6px rgba(15, 23, 42, 0.06);

}



.sh-page-mantencion-wordpress-sticky-wrap thead tr th:nth-child(2) {

	background: #f3f7ff !important;

	border-top: 3px solid #3f6fe0;

	color: #3f6fe0;

}



@media (max-width: 767px) {

	.sh-page-mantencion-wordpress-sticky-wrap table.sh-pw-ct {

		min-width: 920px;

	}

	.sh-page-mantencion-wordpress-sticky-wrap .sh-pw-col-features {

		width: 168px;

	}

	.sh-page-mantencion-wordpress-sticky-wrap thead tr th {

		padding: 11px 12px;

		font-size: 13px;

	}

	.sh-page-mantencion-wordpress-sticky-wrap thead tr th:first-child {

		width: 168px;

		min-width: 168px;

		max-width: 168px;

		font-size: 12px;

	}

}



/* --- Diseño Web WordPress (wordpress — ref. hosting-wordpress.php SH4 estructural) --- */

.sh-page--wordpress .sh-page-body--wordpress {

	padding-bottom: 0;

}



.sh-page--wordpress #pricing1 .sh-pw-plan-price {

	font-size: clamp(1.75rem, 1.5vw + 0.75rem, 2.35rem);

}



.sh-page--wordpress #pricing1 .sh-pw-plan-featured .pricing-table {

	border: 2px solid var(--sh-page-primary);

}



.sh-page--wordpress .sh-pw-comparativa .planes-table {

	margin-top: 0;

}



.sh-page--wordpress .sh-pw-ct.sh-pw-thead-is-floating thead {

	visibility: hidden;

}



.sh-page--wordpress .sh-pw-table-v2 .sh-pw-ct.sh-pw-plans-4 {

	min-width: 920px;

}



.sh-page--wordpress .sh-pw-table-v2 .sh-pw-ct.sh-pw-featured-col-3 tbody tr:not(.header-table):not(.contratar) td:nth-child(3),

.sh-page--wordpress .sh-pw-table-v2 .sh-pw-ct.sh-pw-featured-col-3 tbody tr:not(.header-table):not(.contratar):hover td:nth-child(3) {

	background: #f8fbff;

}



.sh-page--wordpress .sh-pw-table-v2 .sh-pw-ct.sh-pw-featured-col-3 thead tr th:nth-child(3) {

	background: #f3f7ff !important;

	border-top: 3px solid #3f6fe0;

	color: #3f6fe0;

}



.sh-page-wordpress-sticky-wrap {

	position: fixed;

	display: none;

	z-index: 600;

	overflow: hidden;

	pointer-events: none;

	box-sizing: border-box;

	background: #fff;

}



.sh-page-wordpress-sticky-wrap table.sh-pw-ct {

	margin: 0;

	border-collapse: separate;

	border-spacing: 0;

	table-layout: fixed;

	background: #fff;

	border-bottom: 2px solid #e2e8f0;

	will-change: transform;

}



.sh-page-wordpress-sticky-wrap thead tr th {

	background: #fff !important;

	background-clip: padding-box;

	border-bottom: 2px solid #e2e8f0;

	padding: 22px 20px;

	font-size: 15px;

	font-weight: 700;

	color: #0f172a;

	text-align: center;

	vertical-align: bottom;

	white-space: nowrap;

	box-sizing: border-box;

}



.sh-page-wordpress-sticky-wrap thead tr th:first-child {

	position: -webkit-sticky;

	position: sticky;

	left: 0;

	z-index: 3;

	text-align: left;

	color: #64748b;

	font-size: 12px;

	font-weight: 600;

	text-transform: uppercase;

	letter-spacing: 0.06em;

	box-shadow: 2px 0 6px rgba(15, 23, 42, 0.06);

}



.sh-page-wordpress-sticky-wrap thead tr th:nth-child(3) {

	background: #f3f7ff !important;

	border-top: 3px solid #3f6fe0;

	color: #3f6fe0;

}



@media (max-width: 767px) {

	.sh-page-wordpress-sticky-wrap table.sh-pw-ct {

		min-width: 920px;

	}

	.sh-page-wordpress-sticky-wrap .sh-pw-col-features {

		width: 168px;

	}

	.sh-page-wordpress-sticky-wrap thead tr th {

		padding: 11px 12px;

		font-size: 13px;

	}

	.sh-page-wordpress-sticky-wrap thead tr th:first-child {

		width: 168px;

		min-width: 168px;

		max-width: 168px;

		font-size: 12px;

	}

}



/* --- Registro de dominios (whois — ref. hosting-wordpress.php SH4 estructural + cotizar.php formulario) --- */

.sh-page--whois .sh-page-body--whois {

	padding-bottom: 0;

}



.sh-page-whois-hero-note {

	background: rgba(63, 111, 224, 0.12);

	border: 1px solid rgba(63, 111, 224, 0.22);

	border-radius: 12px;

	color: rgba(255, 255, 255, 0.9);

	font-size: 0.95rem;

	line-height: 1.6;

	margin: 1.25rem auto 0;

	max-width: 640px;

	padding: 1rem 1.25rem;

}



.sh-page-whois-hero-note__link {

	color: #fff;

	display: inline-block;

	font-weight: 600;

	margin-top: 0.5rem;

	text-decoration: underline;

	text-underline-offset: 3px;

}



.sh-page-whois-hero-note__link:hover {

	color: #fff;

	opacity: 0.9;

}



.sh-page--whois #pricing1 .sh-pw-plan-price {

	font-size: clamp(1.75rem, 1.5vw + 0.75rem, 2.35rem);

}



.sh-page--whois #pricing1 .sh-pw-plan-featured .pricing-table {

	border: 2px solid var(--sh-page-primary);

}



@media (min-width: 992px) {

	.sh-page--whois #pricing1 .pricing-table-style-08 {

		margin-bottom: 20px;

	}

}



.sh-page-whois-form .form-control,

.sh-page-whois-form .form-select {

	min-height: 52px;

}



.sh-page-whois-form__ext-col {

	min-width: 120px;

}



.sh-page-whois-result .whoisdata {

	display: inline-block;

	text-align: left;

	max-width: 100%;

}



.sh-page-whois-features__col {

	padding: 3rem 2rem;

}



.sh-page-whois-features__col--dns {

	background: #eaf2fe;

}



.sh-page-whois-features__col--panel {

	background: #f4f8fe;

}



.sh-page-whois-features__inner {

	max-width: 520px;

	margin: 0 auto;

}



/* --- Registrar (registrar — ref. registrar.php SH4, hero oscuro SH2) --- */

.sh-page--registrar .sh-page-body--registrar {
	padding-top: 0;
}

.sh-page--registrar #registrar .resultadoReg.success {
	color: var(--sh-color-success, #198754);
}

.sh-page--registrar #registrar .resultadoReg.error {
	color: var(--sh-color-danger, #dc3545);
}


.sh-page--contacto #contacto .sh-page-contacto-channels .sh-page-contacto-channel-item {

	background: transparent;

	padding: 0;

}



.sh-page--contacto #contacto .sh-page-contacto-channels .sh-page-contacto-channel-item:not(:last-child) {

	margin-bottom: 25px;

	padding-bottom: 25px;

	border-bottom: 1px solid rgba(15, 23, 42, 0.08);

}



.sh-page--contacto #contacto .sh-page-contacto-channels .feature-box-icon {

	flex-shrink: 0;

	min-width: 34px;

}



.sh-page--contacto #contacto .sh-page-contacto-channels .feature-box-icon .icon-medium {

	font-size: 34px;

	line-height: 1;

}



/* --- Formas de pago (formapago — ref. cuenta-miscompras modal SH4 + layout informativo) --- */

.sh-page--formapago .sh-page-body--formapago {

	padding-bottom: 0;

}



.sh-page--formapago .sh-page-formapago-section {

	padding: var(--sh-page-section-y) 0;

}



.sh-page--formapago .sh-page-formapago-section--alt {

	background: #f3f4f6;

}



.sh-page--formapago .sh-page-formapago-logo {

	max-width: 220px;

	width: 100%;

	height: auto;

}



.sh-page--formapago .sh-page-formapago-table th {

	color: var(--sh-page-text);

	font-weight: 600;

	white-space: nowrap;

	width: 38%;

}



.sh-page--formapago .sh-page-formapago-table td {

	color: rgba(15, 23, 42, 0.82);

}



.sh-page--formapago .sh-page-formapago-table tr + tr th,

.sh-page--formapago .sh-page-formapago-table tr + tr td {

	border-top: 1px solid rgba(15, 23, 42, 0.08);

	padding-top: 12px;

}



.sh-page--formapago .sh-page-formapago-steps {

	margin: 0;

	padding-left: 1.25rem;

}



.sh-page--formapago .sh-page-formapago-steps li + li {

	margin-top: 8px;

}



/* --- Panel de clientes (cuenta-panel — lote C1) --- */

.sh-page--cuenta-panel #cuenta-panel .feature-box {

	transition: transform 0.25s ease, box-shadow 0.25s ease;

}



.sh-page--cuenta-panel #cuenta-panel .feature-box:hover,

.sh-page--cuenta-panel #cuenta-panel .feature-box:focus-within {

	transform: translateY(-2px);

}



@media (max-width: 575px) {

	.sh-page--cuenta-panel #cuenta-panel .feature-box-content .fs-18 {

		font-size: 1rem !important;

	}

}



/* --- Módulos cuenta: contenido bajo hero (alineado SH4) --- */

.sh-page--cuenta-panel,

.sh-page--cuenta-perfil,

.sh-page--cuenta-notificar,

.sh-page--cuenta-miscompras,

.sh-page--cuenta-detalles,

.sh-page--cuenta-listar,

.sh-page--cuenta-soporte,

.sh-page--cuenta-unblock,

.sh-page--cuenta-emails,

.sh-page--cuenta-addemail,

.sh-page--cuenta-changedataEmail {

	background: #fff;

}

.sh-page--cuenta-lostpass,

.sh-page--cuenta-proceso-pago,

.sh-page--cuenta-status,

.sh-page--cuenta-verificar {

	background: #fff;

}

/* Perfil: espacio inferior vía half-section (70px Crafto), sin doble padding del shell */

.sh-page--cuenta-perfil .sh-page-body--cuenta-perfil {

	padding-bottom: 0;

}

/* Notificar: contenido flush al footer (sin hueco extra) */

.sh-page--cuenta-notificar .sh-page-body--cuenta-notificar {

	padding-bottom: 0;

}

.sh-page--cuenta-notificar #cuenta-notificar.half-section {

	padding-bottom: 0;

}

.sh-page--cuenta-miscompras .sh-page-body--cuenta-miscompras {

	padding-bottom: 0;

}

/* Espacio hero → cards (30–40px) */

.sh-page--cuenta-miscompras #cuenta-miscompras.sh-account-services.half-section.pt-0 {

	padding-top: 40px !important;

}

@media (max-width: 991px) {

	.sh-page--cuenta-miscompras #cuenta-miscompras.sh-account-services.half-section.pt-0 {

		padding-top: 30px !important;

	}
	.sh-page-wphosting-incluye-item{
		font-size: 13px;
	}

}

.sh-page--cuenta-detalles .sh-page-body--cuenta-detalles {

	padding-bottom: 0;

}

.sh-page--cuenta-detalles #cuenta-detalles.sh-account-detail.half-section.pt-0 {

	padding-top: 40px !important;

}

.sh-page-hero--cuenta-detalles {

	padding-bottom: 40px;

	text-align: left;

}

.sh-page-hero--cuenta-detalles .sh-page-hero__breadcrumb .breadcrumb {

	justify-content: flex-start;

}

.sh-page-hero--cuenta-detalles .sh-page-hero__title {

	text-align: left;

	font-size: clamp(1.75rem, 3vw, 2.35rem);

}

.sh-page-hero--cuenta-detalles .sh-account-detail-status {

	display: inline-flex;

	align-items: center;

	gap: 8px;

	padding: 8px 14px;

	border-radius: 999px;

	font-size: 14px;

	font-weight: 600;

}

.sh-page-hero--cuenta-detalles .sh-account-detail-status--active {

	background: rgba(34, 167, 95, 0.2);

	color: #86efac;

}

.sh-page-hero--cuenta-detalles .sh-account-detail-status--unpaid {

	background: rgba(248, 113, 113, 0.2);

	color: #fecaca;

}

@media (max-width: 991px) {

	.sh-page--cuenta-detalles #cuenta-detalles.sh-account-detail.half-section.pt-0 {

		padding-top: 30px !important;

	}

	.sh-page-hero--cuenta-detalles {

		padding-bottom: 32px;

	}

	.sh-page-hero--cuenta-detalles .sh-account-detail-back-btn {

		width: 100%;

	}

}

.sh-page--cuenta-listar .sh-page-body--cuenta-listar {

	padding-bottom: 0;

}

.sh-page--cuenta-listar #cuenta-listar.half-section.pt-0,

.sh-page--cuenta-listar #cuenta-listar-detalle.half-section.pt-0 {

	padding-top: 40px !important;

}

.sh-page--cuenta-listar #resultado.success {

	color: var(--base-color, #2946f3);

}

.sh-page--cuenta-listar #resultado.error {

	color: #dc3545;

}

@media (max-width: 991px) {

	.sh-page--cuenta-listar #cuenta-listar.half-section.pt-0,

	.sh-page--cuenta-listar #cuenta-listar-detalle.half-section.pt-0 {

		padding-top: 30px !important;

	}

}

.sh-page--cuenta-soporte .sh-page-body--cuenta-soporte {

	padding-bottom: 0;

}

.sh-page--cuenta-soporte #cuenta-soporte.half-section.pt-0 {

	padding-top: 40px !important;

}

.sh-page--cuenta-soporte #resultado.success {

	color: var(--base-color, #2946f3);

}

.sh-page--cuenta-soporte #resultado.error {

	color: #dc3545;

}

@media (max-width: 991px) {

	.sh-page--cuenta-soporte #cuenta-soporte.half-section.pt-0 {

		padding-top: 30px !important;

	}

}

.sh-page--cuenta-unblock .sh-page-body--cuenta-unblock {

	padding-bottom: 0;

}

.sh-page--cuenta-unblock #cuenta-unblock.half-section.pt-0 {

	padding-top: 40px !important;

}

.sh-page--cuenta-unblock #resultado.success {

	color: var(--base-color, #2946f3);

}

.sh-page--cuenta-unblock #resultado.error {

	color: #dc3545;

}

@media (max-width: 991px) {

	.sh-page--cuenta-unblock #cuenta-unblock.half-section.pt-0 {

		padding-top: 30px !important;

	}

}

.sh-page--cuenta-emails .sh-page-body--cuenta-emails {

	padding-bottom: 0;

}

.sh-page--cuenta-emails #cuenta-emails.half-section.pt-0 {

	padding-top: 40px !important;

}

@media (max-width: 991px) {

	.sh-page--cuenta-emails #cuenta-emails.half-section.pt-0 {

		padding-top: 30px !important;

	}

}

.sh-page--cuenta-addemail .sh-page-body--cuenta-addemail,

.sh-page--cuenta-changedataEmail .sh-page-body--cuenta-changedataEmail {

	padding-bottom: 0;

}

.sh-page--cuenta-addemail #cuenta-addemail.half-section.pt-0,

.sh-page--cuenta-changedataEmail #cuenta-changedataEmail.half-section.pt-0 {

	padding-top: 40px !important;

}

@media (max-width: 991px) {

	.sh-page--cuenta-addemail #cuenta-addemail.half-section.pt-0,

	.sh-page--cuenta-changedataEmail #cuenta-changedataEmail.half-section.pt-0 {

		padding-top: 30px !important;

	}

}

.sh-page--cuenta-lostpass .sh-page-body--cuenta-lostpass,

.sh-page--cuenta-proceso-pago .sh-page-body--cuenta-proceso-pago {

	padding-bottom: 0;

}

.sh-page--cuenta-lostpass #cuenta-lostpass.half-section.pt-0,

.sh-page--cuenta-proceso-pago #cuenta-proceso-pago.half-section.pt-0 {

	padding-top: 40px !important;

}

@media (max-width: 991px) {

	.sh-page--cuenta-lostpass #cuenta-lostpass.half-section.pt-0,

	.sh-page--cuenta-proceso-pago #cuenta-proceso-pago.half-section.pt-0 {

		padding-top: 30px !important;

	}

}

.sh-page--cuenta-status .sh-page-body--cuenta-status,

.sh-page--cuenta-verificar .sh-page-body--cuenta-verificar {

	padding-bottom: 0;

}

.sh-page--cuenta-status #cuenta-status.half-section.pt-0,

.sh-page--cuenta-verificar #cuenta-verificar.half-section.pt-0 {

	padding-top: 40px !important;

}

@media (max-width: 991px) {

	.sh-page--cuenta-status #cuenta-status.half-section.pt-0,

	.sh-page--cuenta-verificar #cuenta-verificar.half-section.pt-0 {

		padding-top: 30px !important;

	}

}

.sh-page--cuenta-notificar #resultado.success {

	color: var(--base-color, #2946f3);

}

.sh-page--cuenta-notificar #resultado.error {

	color: #dc3545;

}

@media (max-width: 991px) {

	.sh-page--cuenta-perfil #cuenta-perfil > .container,

	.sh-page--cuenta-notificar #cuenta-notificar > .container {

		width: 100%;

		max-width: 100%;

		padding-left: 0;

		padding-right: 0;

	}

	.sh-page--cuenta-perfil #cuenta-perfil .border-radius-6px,

	.sh-page--cuenta-notificar #cuenta-notificar .border-radius-6px {

		border-radius: 0;

	}

	.sh-page--cuenta-perfil #cuenta-perfil .row {

		--bs-gutter-x: 0;

		margin-left: 0;

		margin-right: 0;

	}

}

/* --- Blog --- */

.sh-page--blog {

	background: #fff;

}

.sh-page--blog .sh-page-body--blog {

	padding-bottom: 0;

}

.sh-page--blog .sh-blog-page.half-section {

	padding-bottom: 70px;

}

.sh-page--blog .sh-blog-page--filtered.half-section {

	padding-top: 40px !important;

}

.sh-page--blog .sh-blog-card .blog-image img {

	aspect-ratio: 16 / 10;

	object-fit: cover;

}

.sh-page--blog .sh-blog-card .categories-btn {

	display: inline-block;

	padding: 6px 12px;

	border-radius: 4px;

	text-decoration: none;

}

.sh-page--blog .sh-blog-pagination {
	text-align: center;
}

.sh-page--blog .sh-blog-pagination-nav .pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px;
	margin-bottom: 0;
	padding-left: 0;
}

.sh-page--blog .sh-blog-pagination-nav .page-item .page-link {
	border: 0;
	min-width: 42px;
	min-height: 42px;
	line-height: 42px;
	padding: 0 10px;
	text-align: center;
	border-radius: 100%;
	color: #64748b;
	background: transparent;
}

.sh-page--blog .sh-blog-pagination-nav .page-item.active .page-link,
.sh-page--blog .sh-blog-pagination-nav .page-item.active .page-link:hover {
	background: #1e293b;
	color: #fff;
	box-shadow: 0 0 10px rgba(23, 23, 23, 0.15);
}

.sh-page--blog .sh-blog-pagination-nav .page-item .page-link:hover {
	background: #fff;
	color: #1e293b;
	box-shadow: 0 0 10px rgba(23, 23, 23, 0.12);
}

.sh-page--blog .sh-blog-pagination-nav .page-item.disabled .page-link {
	background: transparent;
	box-shadow: none;
	color: #94a3b8;
}

.sh-page--blog .sh-blog-article .sh-doc-content iframe,

.sh-page--blog .sh-blog-article .article-content iframe {

	max-width: 100%;

}

@media (max-width: 991px) {

	.sh-page--blog .sh-doc-sidebar {

		position: static;

		top: auto;

	}

	.sh-page--blog .sh-blog-page.half-section {

		padding-top: 30px !important;

	}

	.sh-page--blog .sh-blog-page--filtered.half-section {

		padding-top: 30px !important;

	}

}

/* Tutoriales + búsqueda */
.sh-page--tutoriales .sh-page-body--tutoriales,
.sh-page--search-tutoriales .sh-page-body--search-tutoriales {
	padding-bottom: 0;
}

.sh-page--tutoriales #tutoriales-index.half-section,
.sh-page--tutoriales #tutoriales-category.half-section,
.sh-page--tutoriales #tutoriales-article.half-section,
.sh-page--search-tutoriales #tutoriales-search.half-section {
	padding-top: 40px;
	padding-bottom: 50px;
}

.sh-page--tutoriales .sh-doc-cat-card__icon,
.sh-page--search-tutoriales .sh-doc-cat-card__icon {
	width: 56px;
	height: 56px;
}

.sh-page--tutoriales .sh-doc-content img,
.sh-page--search-tutoriales .sh-doc-content img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
}

@media (max-width: 991px) {
	.sh-page--tutoriales .sh-doc-sidebar,
	.sh-page--search-tutoriales .sh-doc-sidebar {
		position: static;
		top: auto;
	}
}

/* Diseño web */
.sh-page--diseno .sh-page-body--diseno {
	padding-bottom: 0;
}

.sh-page--diseno .sh-diseno-feat-card {
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.sh-page--diseno .sh-diseno-feat-card:hover {
	box-shadow: 0 8px 30px rgba(15, 23, 42, 0.08);
	transform: translateY(-2px);
}

.sh-page--diseno .sh-diseno-step-card__number {
	align-items: center;
	background: rgba(63, 111, 224, 0.1);
	border-radius: 100%;
	color: var(--sh-page-primary);
	display: inline-flex;
	font-size: 1.25rem;
	font-weight: 700;
	height: 52px;
	justify-content: center;
	margin-bottom: 18px;
	width: 52px;
}

.sh-page--diseno .sh-faq-item__body a {
	color: var(--sh-page-primary);
	text-decoration: underline;
}

@media (max-width: 991px) {
	.sh-page--diseno .sh-page-wphosting-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

/* Mantención web general */
.sh-page--mantencion .sh-page-body--mantencion {
	padding-bottom: 0;
}

.sh-page--mantencion .sh-page-mantencion-section--last {
	padding-bottom: clamp(72px, 9vw, 110px);
}

.sh-page--mantencion .sh-mantencion-showcase {
	max-width: 560px;
	margin: 0 auto;
	width: 100%;
}

.sh-page--mantencion .sh-mantencion-showcase__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 14px;
	min-height: clamp(300px, 34vw, 430px);
}

.sh-page--mantencion .sh-mantencion-showcase__item {
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.06);
	border-radius: 10px;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
	margin: 0;
	overflow: hidden;
}

.sh-page--mantencion .sh-mantencion-showcase__item img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	width: 100%;
}

.sh-page--mantencion .sh-mantencion-showcase__item--featured {
	grid-row: 1 / -1;
	min-height: 0;
}

@media (max-width: 1199px) {
	.sh-page--mantencion .sh-mantencion-showcase {
		max-width: 100%;
	}

	.sh-page--mantencion .sh-mantencion-showcase__grid {
		min-height: clamp(280px, 42vw, 380px);
	}
}

@media (max-width: 991px) {
	.sh-page--mantencion .sh-mantencion-showcase__grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		min-height: 0;
	}

	.sh-page--mantencion .sh-mantencion-showcase__item--featured {
		grid-row: auto;
		min-height: clamp(200px, 52vw, 280px);
	}

	.sh-page--mantencion .sh-mantencion-showcase__item:not(.sh-mantencion-showcase__item--featured) {
		min-height: clamp(160px, 40vw, 220px);
	}

	.sh-page--mantencion .sh-page-mantencion-section--last {
		padding-bottom: 56px;
	}
}

@media (min-width: 992px) {
	.sh-page--mantencion .sh-mantencion-showcase {
		margin: 0;
	}
}

/* Redirección externa Segurishop (shop_precios / wpshop_precios) */
.sh-page--external-shop-redirect .sh-page-body--external-shop-redirect {
	padding-bottom: 0;
}

.sh-page--external-shop-redirect .sh-external-shop-redirect-card__icon {
	align-items: center;
	background: rgba(63, 111, 224, 0.08);
	border-radius: 100%;
	display: inline-flex;
	height: 72px;
	justify-content: center;
	width: 72px;
}

.sh-page--external-shop-redirect .sh-external-shop-redirect-card a.text-base-color:hover {
	color: var(--sh-page-primary) !important;
}

/* Pasarelas de pago */
.sh-page--pasarelasdepago .sh-page-body--pasarelasdepago {
	padding-bottom: 0;
}

.sh-page--pasarelasdepago .sh-home-process {
	background: #fff;
	padding: var(--sh-page-section-y) 0;
}

.sh-page--pasarelasdepago .sh-home-section-eyebrow {
	color: var(--sh-page-primary);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.sh-page--pasarelasdepago .sh-home-section-title {
	color: var(--sh-page-text);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin-bottom: 1rem;
}

.sh-page--pasarelasdepago .sh-home-process .number {
	font-size: 2rem;
}

.sh-page--pasarelasdepago .sh-pasarelas-gateway-section {
	background: #fff;
}

.sh-page--pasarelasdepago .sh-pasarelas-gateway-section--alt {
	background: var(--sh-page-muted-bg, #f7f7f7);
}

.sh-page--pasarelasdepago .sh-pasarelas-gateway-logo {
	height: auto;
	max-height: 120px;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

.sh-page--pasarelasdepago .sh-pasarelas-gateway-card .sh-checklist li {
	font-size: 15px;
}

.sh-page--pasarelasdepago .sh-pasarelas-faq-card h3 {
	line-height: 1.35;
}

/* cuenta-elegir-pago — medios de pago A1 (scope propio, sin legacy miscompras) */
.sh-page--cuenta-elegir-pago .sh-checkout-payment-options {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.sh-page--cuenta-elegir-pago .sh-checkout-payment-option {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(35, 35, 35, 0.14);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	color: #232323;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	justify-content: center;
	min-height: 5.5rem;
	padding: 1rem 0.85rem;
	text-align: center;
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
	width: 100%;
}

.sh-page--cuenta-elegir-pago .sh-checkout-payment-option:hover {
	border-color: rgba(41, 70, 243, 0.45);
	box-shadow: 0 6px 18px rgba(41, 70, 243, 0.12);
	transform: translateY(-1px);
}

.sh-page--cuenta-elegir-pago .sh-checkout-payment-option:focus-visible {
	border-color: #2946f3;
	box-shadow: 0 0 0 3px rgba(41, 70, 243, 0.25);
	outline: none;
}

.sh-page--cuenta-elegir-pago .sh-checkout-payment-option:disabled {
	cursor: not-allowed;
	opacity: 0.55;
	transform: none;
}

.sh-page--cuenta-elegir-pago .sh-checkout-payment-option__logo {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 3rem;
	width: 100%;
}

.sh-page--cuenta-elegir-pago .sh-checkout-payment-option__logo img {
	display: block;
	height: auto;
	max-height: 3rem;
	max-width: 10.5rem;
	object-fit: contain;
	width: auto;
}

.sh-page--cuenta-elegir-pago .sh-checkout-payment-option__label {
	color: #232323;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
}

.sh-page--cuenta-elegir-pago .sh-checkout-paypal-form {
	background: transparent;
	border: 0;
	display: flex;
	height: 100%;
	margin: 0;
	min-width: 0;
	padding: 0;
	width: 100%;
}

.sh-page--cuenta-elegir-pago button.sh-checkout-payment-option {
	appearance: none;
	font: inherit;
}

.sh-page--cuenta-elegir-pago .sh-checkout-payment-option--transfer,
.sh-page--cuenta-elegir-pago .sh-checkout-payment-option--paypal {
	background: #fff;
}

@media (max-width: 767.98px) {
	.sh-page--cuenta-elegir-pago .sh-checkout-payment-options {
		grid-template-columns: 1fr;
	}

	.sh-page--cuenta-elegir-pago .sh-checkout-payment-option {
		min-height: 5.75rem;
	}
}

/* Checkout A1 — puerta anónima (sin datos de venta) */
.sh-page--cuenta-elegir-pago .sh-checkout-login-gate,
.sh-page--cuenta-establecer-clave .sh-checkout-login-gate {
	margin-top: 1.5rem;
}

.sh-page-body--checkout-login-gate {
	min-height: 12rem;
	padding-top: 0;
	padding-bottom: 3rem;
}

.sh-checkout-login-gate #sh-checkout-login-gate-open:focus-visible {
	box-shadow: 0 0 0 3px rgba(41, 70, 243, 0.25);
	outline: none;
}
