body  {
	font-family: 'Montserrat', sans-serif;
	font-weight:400;
	font-size:16px;
	background: #FFFFFF;
	margin: 0; 
	padding: 0;
	text-align: left; 
	color: #000000;
	z-index:0
}
*{
	margin:0;
	padding:0;
	outline:none !important;
}
a{
	color:inherit;
	text-decoration:none;	
	outline:none
}
a:hover{
	text-decoration:none;
	color:#009de0;
}
#mainContent .ge-content a,
.contenido a{
	color:#009de0;
	text-decoration: underline;
}
.container .contenido li{
	line-height:27px;
}
.container .contenido ul.ticks{
	margin-left:0px;	
}
.container .contenido ol,
.container .contenido ul{
	padding-left:35px;	
	display: block;
}

.container ol { counter-reset: item }
.container ol li { display: block }
.container ol li:before { content: counters(item, ".") ". "; counter-increment: item }

.container .contenido ol li,
.container .contenido ul li,
.container .contenido p{
	font-size:14px;	
}

.mensaje-error{
	font-size:80%;
	font-style:italic;
	text-align:left;
	position:relative !important;
	right:auto !important;
    font-weight: bold;
	display:none;
	color: #cb0000;
	margin-top: -15px;
	margin-bottom: 20px;
}
.mensaje-error.visible{
	display:block;	
}
.formulario .bloque.ojo{
	position: relative;
	/*width:90%;*/
}
.formulario .bloque.ojo span.ojo{
	position: absolute;
	right: 10%;
	top: 39px;
}

#mainContent{
	padding-top:85px;
}
h2{
	color:#000;
	font-weight:400;
	font-size:40px;
	margin:30px 0px;
}
h2.titulo_seccion{
	color:#0069ae;
	font-size:40px;
}
h3{
	color:#000000;	
	font-size:25px;
	font-weight:normal;
	margin:25px 0px;
}
h4{
	color:#000000;	
	font-size:20px;
	font-weight:normal;
	margin:20px 0px;
}
h6{
    text-transform: uppercase;
    color:#009de0;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 4px;
    padding-top: 30px;
    margin-top: 60px;
    position: relative;
    margin-bottom: -15px;
}

h6::before{
    border-top: #009de0 1px solid;
    width: 150px;
    content: " ";
    display: block;
    position: absolute;
    top: 0px;
    left: 50%;
    margin-left: -75px;
}
img{
	border:none;	
}
strong,b{
	font-weight:700;	
}
p{
	margin: 15px 0px;
}
.ge-content p{
    line-height: 30px;
}
.container { 
	max-width: 1300px;
	margin: 0 auto; 
	text-align: left;
	width:100%;
}
figure{
    position: relative;
}
figure::before{
    content: " ";
    width: 90px;
    height: 90px;
    background: #fff;
    top: 0px;
    right: 0px;
    position: absolute;
    z-index: 1;
}
figure.derecha::before{
    left: 0px;
    right:auto;
}
figure figcaption{
    transform: rotate(-90deg);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 4px;
    z-index: 1;
    position: absolute;
    left: -130px;
    top: 70%;
	
	/*color: #bfbfbf;*/
	color: #545454;
	background-color: #ffffffa8;
}
figure figcaption::before{
     content:" ";
    bottom: -20px;
    left: -50px;
    width: 80px;
    border-bottom: #009de0 1px solid;
    position: absolute;
}

figure.derecha figcaption{
    right: -210px;
    left:auto;
}
#capa_opaca {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 2000px;
    background: rgba(0,0,0,0.8);
    z-index: 11;
    display: none;
}

.bloques_portada.galeria-carrousel{
    margin-top: -60px;
    margin-bottom: -30px;
}
.wrapper{
	position: relative;
	/*box-shadow: 5px 5px 15px rgba(0,0,0,0.15)*/
}

.jcarousel-wrapper {
    position: relative;
	clear:both;
}

/** Carousel **/

.jcarousel {
    position: relative;
    overflow: hidden;
    width: 80%;
	padding:30px 0px;
	/*margin: 0 10%;*/
	margin: 0 auto;
	/*background:#efefef;*/
}

.jcarousel ul {
    width: 20000em;
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}

.jcarousel li {
    width: 20%;
    float: left;
	margin-right: 0px !important;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.jcarousel li:last-child{
	margin-right: 0;
}

.jcarousel img {
    display: block;
    max-width: 100%;
    height: auto !important;
}

.galeria-carrousel .jcarousel img{
	max-height: 28vw;
}

/** Carousel Controls **/

.jcarousel-control-prev,
.jcarousel-control-next {
    position: absolute;
    top: 50%;
    margin-top: -15px;
    width: 30px;
    height: 30px;
    text-align: center;
    background: none;
    color: #dfdfdf;
    text-decoration: none;
    text-shadow:none;
    font: 24px/27px Arial, sans-serif;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    box-shadow: none;
}

.jcarousel-control-prev {
    left: 15px;
}

.jcarousel-control-next {
    right: 15px;
}
.jcarousel-control-prev:hover,
.jcarousel-control-next:hover {
	background: #efefef;
    color: #333 !important;
	text-decoration:none !important;
}

/** Carousel Pagination **/

.jcarousel-pagination {
    position: absolute;
    bottom: -40px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    margin: 0;
}

.jcarousel-pagination a {
    text-decoration: none;
    display: inline-block;

    font-size: 11px;
    height: 10px;
    width: 10px;
    line-height: 10px;

    background: #fff;
    color: #4E443C;
    border-radius: 10px;
    text-indent: -9999px;

    margin-right: 7px;


    -webkit-box-shadow: 0 0 2px #4E443C;
    -moz-box-shadow: 0 0 2px #4E443C;
    box-shadow: 0 0 2px #4E443C;
}

.jcarousel-pagination a.active {
    background: #4E443C;
    color: #fff;
    opacity: 1;

    -webkit-box-shadow: 0 0 2px #F0EFE7;
    -moz-box-shadow: 0 0 2px #F0EFE7;
    box-shadow: 0 0 2px #F0EFE7;
}

.selector select{
    width: 100%;
    padding: 0 35px 0 9px;
    height: 35px;
    font-size: 14px;
    background: 0 0;
    position: relative;
    z-index: 1;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;	
	color: #191919;
	font-size: 12px;
	background:#f5f5f5;
	border-radius:3px;
}
.buscador_home .selector select{
	background:#fff;	
}
.selector::after {
    content: ' ';
    display: block;
    position: absolute;
    top: 11px;
    right: 12px;
    width: 7px;
    height: 7px;
    border-right: 1px solid #fff;
    z-index: 3;
    border-top: 1px solid #fff;
    transition: all .2s ease;
    transform: rotate(135deg);
	pointer-events: none;
}
.selector::before {
    right: -1px;
    top: -1px;
    position: absolute;
    content: '';
    display: block;
    width: 34px;
    height: 35px;
    background: #424242;
    z-index: 2;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
	
	background-color: #676767;
	top: 0;
	pointer-events: none;
}
.selector.active::before{
	background-color: #118614;	
}
.selector {
    width: auto;
	padding-left:15px;
    margin:0px;
	margin-bottom:4px;
    border: none;
    height: 37px;
	position:relative;
	display:inline-block;
}


.form_contacto label{
	font-weight:600;
	font-size:13px;
	margin-top:12px;
	display:block;
}
.form_contacto textarea,
.form_contacto input[type=password],
.form_contacto input[type=text],
.form_contacto input[type=tel],
.form_contacto input[type=email]{
	background:#f5f5f5;
	width:100%;
	display:block;
	border-radius:3px;
	padding:5px;
	border:0px;
	color:#191919;
	line-height:25px;
}
.form_contacto textarea.error,
.form_contacto input[type=text].error,
.form_contacto .selector select.error{
	background:#f5d1d1;	
}
.form_contacto .selector{
	padding-left:0px;
	width:100%;	
}
input[type=checkbox],
input[type=radio] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    margin: 0;
    height: auto;
    width: auto;
    line-height: inherit;
    letter-spacing: 3px;
    background: 0 0;
    border: none
}

input[type=checkbox]:active,
input[type=checkbox]:focus,
input[type=radio]:active,
input[type=radio]:focus {
    outline: 0
}

input[type=checkbox]+a,
input[type=radio]+a {
    color: #555
}

input[type=checkbox]+a:hover,
input[type=radio]+a:hover {
    text-decoration: none;
    color: #222
}

input[type=checkbox]:before,
input[type=radio]:before {
    font-family: "Font Awesome 5 Free";
    display: inline-block;
    cursor: pointer;
    color: #009de0
}

input[type=checkbox]:before {
    content: "\f0c8"
}

input[type=checkbox]:checked:before {
    content: "\f14a"
}

input[type=radio]:before {
    content: "\f111"
}

input[type=radio]:checked:before {
    content: "\f192"
}

input[type=checkbox]:before,
input[type=checkbox]:checked:before,
input[type=radio]:before,
input[type=radio]:checked:before {
    margin-bottom: -6px;
    vertical-align: bottom;
    font-size: 17px;
    font-weight: 400
}
.form_contacto table td{
	padding: 0 10px;	
}
.form_contacto table tr td:first-child{
	padding-left:0px;	
}


#menu_usuario{
	position:absolute;
	z-index:5;
	background:#fff;
	border-radius:5;
	padding:15px;
	border:#e7e7e7 1px solid;
	top: 53px;
	right: 48px;
	width: 228px;
	text-align:left;
	font-size:14px;
	display:none;
	border-radius:10px;
    line-height: 18px;
}
#menu_usuario::before{
  width: 0; 
  height: 0; 
  content:" ";
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  
  border-bottom: 10px solid #e7e7e7;	
  position:absolute;
  top: -11px;
	right: 20px;
}
#menu_usuario::after{
  width: 0; 
  height: 0; 
  content:" ";
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  
  border-bottom: 12px solid white;	
   position:absolute;
  top:-10px;
  right:18px;
}
#menu_usuario p{
    margin: 0px;
}

#menu_usuario .label-verde{
	position: relative;
}
#menu_usuario .label-verde::after{
	background:url(/imagenes/icons/tick_acreditado_perfil.svg) no-repeat;
	background-size: 16px auto;
	background-position: center;
	height: 16px;
	width: 16px;
	content: " ";
	position: absolute;
	right: -7px;
	top: -6px;
	z-index: 1;
}

#menu_usuario ul{
	list-style:none;
	margin-top: 0;
	margin-bottom: 0;
}
#menu_usuario ul li a{
	display:block;
	line-height:35px;	
}
#menu_usuario .boton-solido{
	margin:0px;
	/*margin-top:15px;*/
	margin-bottom:5px;
	font-size:13px;	
}
#menu_usuario hr{
	margin-left: -15px;
	margin-right: -15px;
}
#menu_usuario hr.sin-margen{
	margin-top: 0;
	margin-bottom: 8px;
}
#menu_usuario .verde strong{
	text-decoration: underline;
}
.tooltip{
    font-size: 12px;
}


@media screen and (max-width: 800px) {
	#mainContent{
		padding-top:40px;
	}
	.enlace_perfil span.txt{
		display: none;
	}
}
/* SEO: primer <h2> del contenido convertido en <h1> (seccion.php). Mismo aspecto que un h2. */
h1.h1-como-h2{
	color:#000;
	font-weight:400;
	font-size:40px;
	line-height:1.2;
	margin:30px 0px;
}
.container h1.h1-como-h2 strong{
	color:#fff;
}
@media screen and (max-width: 801px) {
	h1.h1-como-h2{
		font-size:25px;
		margin:17px 0px;
	}
}

/* SEO: primer <h3> convertido en <h1> cuando el contenido no tiene <h2> (p.ej. documentacion-api). */
h1.h1-como-h3{
	color:#000000;
	font-size:25px;
	font-weight:normal;
	line-height:1.2;
	margin:25px 0px;
}

/* =====================================================================
   Página "Qué es Verifactu" (y reutilizable en otras páginas de contenido)
   Estilo 2k27 de la home. Todo va bajo .vf para no chocar con los estilos
   antiguos de content.css / main.css. Usa las variables de estilos/2k27/inicio.css.
   ===================================================================== */
#mainContent .vf { font-family: 'Space Grotesk', system-ui, sans-serif; color: var(--text, #14161B); }
#mainContent .vf p { font-size: 16.5px; line-height: 1.65; color: var(--text-muted, #5A6070); margin: 0 0 16px; }
#mainContent .vf p strong, #mainContent .vf li strong { color: var(--text, #14161B); font-weight: 600; }
#mainContent .vf a:not(.vf-btn) { color: var(--accent, #1B4FD8); text-decoration: none; border-bottom: 1px solid rgba(27,79,216,.25); }
#mainContent .vf a:not(.vf-btn):hover { border-bottom-color: currentColor; }

/* bandas a todo el ancho aunque el contenido esté dentro de .container */
#mainContent .vf-bleed { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
#mainContent .vf-wrap { max-width: var(--shell, 1200px); margin: 0 auto; padding: 0 32px; }
#mainContent .vf-section { padding-top: 88px; padding-bottom: 88px; }
#mainContent .vf-band { background: var(--band, #F6F7F9); border-top: 1px solid var(--hairline, #E7E9EF); border-bottom: 1px solid var(--hairline, #E7E9EF); }

#mainContent .vf h1,
#mainContent .vf h2,
#mainContent .vf h3 { font-family: inherit; color: var(--text, #14161B); text-wrap: balance; }
#mainContent .vf h2 { font-size: 38px; font-weight: 600; letter-spacing: -0.032em; line-height: 1.08; margin: 0 0 18px; }
#mainContent .vf h3 { font-size: 20px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; margin: 0 0 10px; }
#mainContent .vf-eyebrow { font-family: 'IBM Plex Mono', monospace; font-size: 11.5px; letter-spacing: .08em; color: var(--accent, #1B4FD8); text-transform: uppercase; margin-bottom: 16px; }
#mainContent .vf-intro { max-width: 680px; margin-bottom: 44px; }

/* ---------- hero ---------- */
#mainContent .vf-hero { margin-top: -85px; padding-top: 85px; border-bottom: 1px solid var(--hairline, #E7E9EF);
	background: radial-gradient(1000px 480px at 16% -14%, var(--hero-glow, rgba(27,79,216,.09)), transparent 62%); }
#mainContent .vf-hero__inner { display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; align-items: center; padding-top: 56px; padding-bottom: 76px; }
#mainContent .vf-pill { display: inline-flex; align-items: center; gap: 9px; border: 1px solid var(--pill-border, #E1E5EF); background: var(--surface, #fff);
	border-radius: 100px; padding: 6px 14px 6px 11px; font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: var(--text-muted, #5A6070); margin-bottom: 26px; }
#mainContent .vf-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #E0A100; }
#mainContent .vf h1 { font-size: 60px; font-weight: 600; line-height: 1; letter-spacing: -0.038em; margin: 0 0 24px; }
#mainContent .vf-lede { font-size: 18.5px !important; line-height: 1.6 !important; }
#mainContent .vf-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px; }
#mainContent .vf a.vf-btn { display: inline-block; font-size: 15.5px; font-weight: 500; padding: 14px 26px; border-radius: 9px; border: 1px solid transparent; text-decoration: none; line-height: 1.2; }
#mainContent .vf a.vf-btn--primary,
#mainContent .vf a.vf-btn--primary:visited { background: var(--accent, #1B4FD8); color: #fff; }
#mainContent .vf a.vf-btn--primary:hover { background: var(--accent-hover, #143CA8); color: #fff; }
#mainContent .vf a.vf-btn--ghost,
#mainContent .vf a.vf-btn--ghost:visited { background: var(--surface, #fff); color: var(--text, #14161B); border-color: var(--field-border, #D8DBE3); }
#mainContent .vf a.vf-btn--ghost:hover { border-color: var(--text, #14161B); color: var(--text, #14161B); }

/* tarjeta "factura" del hero */
#mainContent .vf-invoice { background: var(--surface, #fff); border: 1px solid var(--hairline, #E7E9EF); border-radius: 16px; padding: 30px 30px 26px;
	box-shadow: 0 30px 60px -32px rgba(20,22,27,.35), 0 1px 3px rgba(20,22,27,.06); max-width: 430px; justify-self: end; width: 100%; }
#mainContent .vf-invoice img { display: block; height: auto; max-width: 190px; margin: 0 0 22px; }
#mainContent .vf-invoice__row { display: flex; justify-content: space-between; font-family: 'IBM Plex Mono', monospace; font-size: 12.5px; color: var(--text-dim, #7A8191);
	padding: 9px 0; border-bottom: 1px dashed var(--hairline-2, #E1E4EB); }
#mainContent .vf-invoice__row b { color: var(--text, #14161B); font-weight: 500; }
#mainContent .vf-invoice__foot { display: grid; grid-template-columns: 84px 1fr; gap: 18px; align-items: center; margin-top: 20px; }
#mainContent .vf-invoice__foot::before { content: ""; width: 84px; height: 84px; display: block; image-rendering: pixelated; background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 21 21%22 shape-rendering=%22crispEdges%22%3E%3Crect width=%2221%22 height=%2221%22 fill=%22%23fff%22/%3E%3Cpath fill=%22%2314161B%22 d=%22M0 0h7v7H0zM14 0h7v7h-7zM0 14h7v7H0z%22/%3E%3Cpath fill=%22%23fff%22 d=%22M1 1h5v5H1zM15 1h5v5h-5zM1 15h5v5H1z%22/%3E%3Cpath fill=%22%2314161B%22 d=%22M2 2h3v3H2zM16 2h3v3h-3zM2 16h3v3H2zM8 0h1v2H8zM10 1h2v1h-2zM9 3h1v2H9zM11 4h2v2h-2zM8 6h2v1H8zM12 7h1v2h-1zM0 8h2v1H0zM3 8h2v2H3zM6 9h2v1H6zM9 8h2v2H9zM14 8h2v1h-2zM17 9h3v1h-3zM1 11h2v1H1zM5 11h1v2H5zM8 11h3v1H8zM13 10h1v3h-1zM15 11h2v2h-2zM19 11h2v1h-2zM8 13h2v2H8zM11 14h2v1h-2zM14 14h1v2h-1zM16 15h3v1h-3zM9 16h1v2H9zM11 17h3v1h-3zM15 17h1v3h-1zM17 18h2v1h-2zM8 19h2v2H8zM12 19h2v2h-2zM19 20h2v1h-2zM18 13h1v2h-1z%22/%3E%3C/svg%3E") center/contain no-repeat; }
#mainContent .vf-invoice__legend { font-family: 'IBM Plex Mono', monospace; font-size: 12px; line-height: 1.5; color: var(--text-strong, #4A5160); }
#mainContent .vf-invoice__legend b { display: block; font-size: 14px; color: var(--text, #14161B); letter-spacing: .02em; margin-bottom: 2px; }

/* ---------- fechas ---------- */
#mainContent .vf-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
#mainContent .vf-date { background: var(--surface, #fff); border: 1px solid var(--hairline, #E7E9EF); border-radius: 16px; padding: 30px 32px; }
#mainContent .vf-date__when { font-size: 40px; font-weight: 600; letter-spacing: -0.035em; line-height: 1.05; color: var(--text, #14161B); margin-bottom: 10px; }
#mainContent .vf-date__who { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: var(--text-faint, #9096A3); margin-bottom: 8px; }
#mainContent .vf-date p { margin: 0; font-size: 15.5px; }
#mainContent .vf-note { display: grid; grid-template-columns: 22px 1fr; gap: 14px; margin-top: 20px; padding: 22px 26px; border-radius: 14px;
	background: #FFF8E6; border: 1px solid #F1DDA5; }
#mainContent .vf-note__icon { width: 22px; height: 22px; border-radius: 50%; background: #E0A100; color: #fff; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; margin-top: 2px; }
#mainContent .vf-note p { margin: 0; font-size: 15.5px; color: #5C4A12; }
#mainContent .vf-note p strong { color: #3D3006; }

/* ---------- a quién afecta ---------- */
#mainContent .vf-split { display: grid; grid-template-columns: 360px 1fr; gap: 64px; align-items: start; }
#mainContent .vf-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
#mainContent .vf-check { background: var(--surface, #fff); border: 1px solid var(--hairline, #E7E9EF); border-radius: 16px; padding: 28px 30px; }
#mainContent .vf-check ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
#mainContent .vf-check li { position: relative; padding-left: 30px; font-size: 15.5px; line-height: 1.55; color: var(--text-muted, #5A6070); }
#mainContent .vf-check li::before { content: ""; position: absolute; left: 0; top: 2px; width: 19px; height: 19px; border-radius: 50%;
	background: #EAF7F1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%230B7A55' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat; }
#mainContent .vf-check--no li::before { background: #FDEDEC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6.5 6.5l7 7M13.5 6.5l-7 7' fill='none' stroke='%23C0261A' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat; }
#mainContent .vf-check__title { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 18px; color: #0B7A55; }
#mainContent .vf-check--no .vf-check__title { color: #C0261A; }

/* ---------- modalidades ---------- */
#mainContent .vf-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
#mainContent .vf-card { border: 1px solid var(--hairline, #E7E9EF); border-radius: 16px; padding: 34px 34px 30px; background: var(--surface, #fff); }
#mainContent .vf-card--green { background: linear-gradient(180deg, rgba(18,160,95,.07) 0%, transparent 70%), var(--surface, #fff); }
#mainContent .vf-card--blue { background: linear-gradient(180deg, rgba(27,79,216,.06) 0%, transparent 70%), var(--surface, #fff); }
#mainContent .vf-card h3 { font-size: 26px; letter-spacing: -0.028em; margin-bottom: 12px; }
#mainContent .vf-card p { font-size: 15.5px; margin-bottom: 22px; }
#mainContent .vf-tag { display: inline-block; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; padding: 4px 9px; border-radius: 6px; margin-bottom: 18px; }
#mainContent .vf-tag--green { color: #0B7A55; background: #EAF7F1; border: 1px solid #8FD3B8; }
#mainContent .vf-tag--blue { color: var(--accent, #1B4FD8); background: #EEF2FD; border: 1px solid #B7C8F5; }
#mainContent .vf-chips { display: flex; flex-wrap: wrap; gap: 8px; }
#mainContent .vf-chip { font-family: 'IBM Plex Mono', monospace; font-size: 11.5px; color: var(--text-strong, #4A5160); border: 1px solid var(--hairline-2, #E1E4EB); border-radius: 6px; padding: 5px 10px; }
#mainContent .vf-footnote { margin-top: 26px !important; font-size: 15px !important; }

/* ---------- tabla comparativa ---------- */
#mainContent .vf-table-wrap { overflow-x: auto; border: 1px solid var(--hairline, #E7E9EF); border-radius: 16px; background: var(--surface, #fff); }
#mainContent .vf-table { width: 100%; min-width: 640px; border-collapse: collapse; margin: 0; font-size: 15.5px; }
#mainContent .vf-table th,
#mainContent .vf-table td { padding: 17px 24px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--hairline, #E7E9EF); line-height: 1.5; }
#mainContent .vf-table tr:last-child td { border-bottom: 0; }
#mainContent .vf-table thead th { font-size: 17px; font-weight: 600; color: var(--text, #14161B); background: var(--band, #F6F7F9); }
#mainContent .vf-table thead th:first-child { width: 22%; }
#mainContent .vf-table tbody td:first-child { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: var(--text-faint, #9096A3); padding-top: 20px; }
#mainContent .vf-table tbody td { color: var(--text-muted, #5A6070); }
#mainContent .vf-table .vf-th-vf::before,
#mainContent .vf-table .vf-th-tbai::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 9px; vertical-align: 1px; background: #12A05F; }
#mainContent .vf-table .vf-th-tbai::before { background: #1B4FD8; }

/* ---------- pasos ---------- */
#mainContent .vf-steps { display: grid; gap: 1px; background: var(--hairline, #E7E9EF); border: 1px solid var(--hairline, #E7E9EF); border-radius: 14px; overflow: hidden; }
#mainContent .vf-step { background: var(--surface, #fff); padding: 28px 32px; display: grid; grid-template-columns: 46px 1fr; gap: 20px; align-items: start; }
#mainContent .vf-step__num { font-family: 'IBM Plex Mono', monospace; font-size: 12.5px; color: var(--text-faint, #9096A3); padding-top: 3px; }
#mainContent .vf-step h3 { margin-bottom: 6px; }
#mainContent .vf-step p { margin: 0; font-size: 15.5px; }

/* ---------- cierre ---------- */
#mainContent .vf-cta { background: var(--panel, #0B0C10); border-radius: 20px; padding: 52px 56px; display: grid; grid-template-columns: 1.3fr auto; gap: 40px; align-items: center; margin-top: 56px; }
#mainContent .vf-cta__title { font-size: 34px; font-weight: 600; letter-spacing: -0.032em; line-height: 1.1; color: #fff; margin: 0 0 12px; }
#mainContent .vf-cta p { color: var(--panel-muted, #9AA1B0); margin: 0; }
#mainContent .vf-cta p a:not(.vf-btn) { color: #9DB5F5; border-bottom-color: rgba(157,181,245,.35); }
#mainContent .vf .vf-cta a.vf-btn--ghost,
#mainContent .vf .vf-cta a.vf-btn--ghost:visited { background: transparent; color: #fff; border-color: #3A3F4B; }
#mainContent .vf .vf-cta a.vf-btn--ghost:hover,
#mainContent .vf .vf-cta a.vf-btn--ghost:focus { background: transparent; color: #fff; border-color: #fff; }
#mainContent .vf-cta .vf-actions { margin-top: 0; }

/* ---------- responsive ---------- */
@media (max-width: 1000px) {
	#mainContent .vf-hero__inner,
	#mainContent .vf-split,
	#mainContent .vf-cta { grid-template-columns: 1fr; gap: 40px; }
	#mainContent .vf-invoice { justify-self: start; }
	#mainContent .vf h1 { font-size: 48px; }
}
@media (max-width: 760px) {
	#mainContent .vf-wrap { padding: 0 16px; }
	#mainContent .vf-section { padding-top: 60px; padding-bottom: 60px; }
	#mainContent .vf h1 { font-size: 40px; }
	#mainContent .vf h2 { font-size: 30px; }
	#mainContent .vf-dates,
	#mainContent .vf-checks,
	#mainContent .vf-cards { grid-template-columns: 1fr; }
	#mainContent .vf-cta { padding: 36px 24px; }
	#mainContent .vf-cta__title { font-size: 28px; }
	#mainContent .vf-table-wrap { overflow: visible; border: 0; background: transparent; }
	#mainContent .vf-table { min-width: 0; }
	#mainContent .vf-table thead { display: none; }
	#mainContent .vf-table,
	#mainContent .vf-table tbody,
	#mainContent .vf-table tr,
	#mainContent .vf-table td { display: block; width: 100%; }
	#mainContent .vf-table tr { background: var(--surface, #fff); border: 1px solid var(--hairline, #E7E9EF); border-radius: 14px; padding: 6px 20px 10px; margin-bottom: 12px; }
	#mainContent .vf-table td { padding: 10px 0; border-bottom: 1px solid var(--hairline, #E7E9EF); }
	#mainContent .vf-table tr td:last-child { border-bottom: 0; }
	#mainContent .vf-table tbody td:first-child { padding-top: 12px; }
	#mainContent .vf-table td:nth-child(2)::before,
	#mainContent .vf-table td:nth-child(3)::before { display: block; font-size: 13px; font-weight: 600; color: var(--text, #14161B); margin-bottom: 2px; }
	#mainContent .vf-table td:nth-child(2)::before { content: "Verifactu"; }
	#mainContent .vf-table td:nth-child(3)::before { content: "TicketBAI"; }
	#mainContent .vf-step { padding: 24px 20px; grid-template-columns: 34px 1fr; gap: 12px; }
}

/* ---------- .vf: piezas extra (páginas TicketBAI e Integración Shopify) ---------- */
#mainContent .vf-pill--blue::before { background: #1B4FD8; }
#mainContent .vf-pill--green::before { background: #12A05F; }
#mainContent .vf-invoice img.vf-invoice__logo-sq { max-width: 110px; max-height: 80px; width: auto; }
#mainContent .vf-invoice__legend b { word-break: break-all; }
#mainContent .vf-invoice__row b.vf-ok { color: #0B7A55; }
#mainContent .vf-cards--3,
#mainContent .vf-dates--3 { grid-template-columns: repeat(3, 1fr); }
#mainContent .vf-cards--3 .vf-card { padding: 28px 28px 24px; }
#mainContent .vf-cards--3 .vf-card h3 { font-size: 21px; }
#mainContent .vf-cards--3 .vf-card p { margin-bottom: 0; }
#mainContent .vf-dates--3 .vf-date__when { font-size: 32px; }
#mainContent .vf-card p.vf-card__link { margin: 22px 0 0; font-weight: 500; }
#mainContent .vf-card p.vf-card__link a { border-bottom: 0; }

#mainContent .vf-figure { background: var(--surface, #fff); border: 1px solid var(--hairline, #E7E9EF); border-radius: 16px; padding: 24px; }
#mainContent .vf-figure img { display: block; width: 100%; height: auto; }

#mainContent .vf-logos { display: flex; align-items: center; gap: 36px; flex-wrap: wrap; margin-top: 44px; padding: 26px 30px; border: 1px solid var(--hairline, #E7E9EF); border-radius: 16px; background: var(--surface, #fff); }
#mainContent .vf-logos__label { font-family: 'IBM Plex Mono', monospace; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-faint, #9096A3); }
#mainContent .vf-logos__row { display: flex; gap: 32px; flex-wrap: wrap; align-items: center; }
#mainContent .vf .vf-logos__row a { border-bottom: 0; }
#mainContent .vf-logos__row img { display: block; max-height: 40px; max-width: 160px; width: auto; height: auto; }

#mainContent .vf-guide { display: grid; gap: 20px; }
#mainContent .vf-guide__step { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; background: var(--surface, #fff);
	border: 1px solid var(--hairline, #E7E9EF); border-radius: 16px; padding: 36px 36px 30px; }
#mainContent .vf-guide__step .vf-step__num { margin-bottom: 10px; padding-top: 0; letter-spacing: .06em; color: var(--accent, #1B4FD8); }
#mainContent .vf-guide__step h3 { font-size: 24px; letter-spacing: -0.025em; margin-bottom: 14px; }
#mainContent .vf-guide__step p { font-size: 15.5px; }
#mainContent .vf-shot { border: 1px solid var(--hairline, #E7E9EF); border-radius: 12px; background: var(--band, #F6F7F9); padding: 14px; margin-bottom: 14px; }
#mainContent .vf-shot:last-child { margin-bottom: 0; }
#mainContent .vf-shot img { display: block; width: 100%; height: auto; border-radius: 6px; margin: 0 auto; }
#mainContent .vf p.vf-code { font-family: 'IBM Plex Mono', monospace; font-size: 13px; line-height: 1.6; color: var(--panel-text, #C2C8D4);
	background: var(--panel, #0B0C10); border-radius: 10px; padding: 14px 18px; overflow-wrap: anywhere; }
#mainContent .vf p.vf-code b { color: #F07178; font-weight: 500; }
#mainContent .vf-list { margin: 0 0 16px; padding-left: 20px; }
#mainContent .vf-list li { font-size: 15.5px; line-height: 1.6; color: var(--text-muted, #5A6070); margin-bottom: 4px; }

@media (max-width: 1000px) {
	#mainContent .vf-cards--3,
	#mainContent .vf-dates--3 { grid-template-columns: 1fr 1fr; }
	#mainContent .vf-guide__step { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 760px) {
	#mainContent .vf-cards--3,
	#mainContent .vf-dates--3 { grid-template-columns: 1fr; }
	#mainContent .vf-guide__step { padding: 24px 20px; }
	#mainContent .vf-logos { padding: 22px 20px; gap: 18px; }
}

/* ---------- .vf: piezas extra (Guía de la app de Shopify) ---------- */
#mainContent .vf [id] { scroll-margin-top: 90px; }
#mainContent .vf-hero__inner--shot { grid-template-columns: 1fr 1.08fr; }
#mainContent .vf-shot--hero { margin: 0; box-shadow: 0 30px 60px -32px rgba(20,22,27,.35), 0 1px 3px rgba(20,22,27,.06); background: var(--surface, #fff); }
#mainContent .vf-stats { display: flex; gap: 34px; flex-wrap: wrap; margin-top: 36px; padding-top: 26px; border-top: 1px solid var(--hairline, #E7E9EF); }
#mainContent .vf-stats__num { font-size: 26px; font-weight: 600; letter-spacing: -0.03em; color: var(--text, #14161B); }
#mainContent .vf-stats__label { font-family: 'IBM Plex Mono', monospace; font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--text-faint, #9096A3); margin-top: 4px; }

#mainContent .vf-toc-wrap { padding-top: 40px; }
#mainContent .vf-toc { border: 1px solid var(--hairline, #E7E9EF); border-radius: 16px; background: var(--surface, #fff); padding: 22px 26px; }
#mainContent .vf-toc__label { font-family: 'IBM Plex Mono', monospace; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-faint, #9096A3); margin-bottom: 14px; }
#mainContent .vf-toc__links { display: flex; flex-wrap: wrap; gap: 8px; }
#mainContent .vf .vf-toc__links a { font-size: 14px; font-weight: 500; color: var(--text-strong, #4A5160); border: 1px solid var(--hairline-2, #E1E4EB); border-radius: 8px; padding: 7px 12px; background: var(--surface, #fff); }
#mainContent .vf .vf-toc__links a:hover { color: var(--accent, #1B4FD8); border-color: var(--accent, #1B4FD8); }

#mainContent .vf-section--tight { padding-top: 64px; padding-bottom: 64px; }
#mainContent .vf-guide__step--wide { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
#mainContent .vf .vf-guide__step h2 { font-size: 30px; letter-spacing: -0.03em; margin-bottom: 16px; }
#mainContent .vf-guide__step .vf-note { margin-top: 18px; }
#mainContent .vf p.vf-caption { font-size: 13.5px; line-height: 1.5; color: var(--text-dim, #7A8191); margin: 8px 2px 18px; }
#mainContent .vf-note--blue { background: #EEF2FD; border-color: #C9D6F7; }
#mainContent .vf-note--blue .vf-note__icon { background: var(--accent, #1B4FD8); }
#mainContent .vf-note--blue p { color: #2B3A66; }
#mainContent .vf-note--blue p strong { color: #14204A; }

#mainContent .vf-cards--4 { margin-top: 20px; }
#mainContent .vf-cards--4 .vf-card { padding: 28px 28px 22px; }
#mainContent .vf-cards--4 .vf-card h3 { font-size: 22px; }
#mainContent .vf-cards--4 .vf-card p { margin-bottom: 0; }

#mainContent .vf-phones { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 820px; margin: 36px auto 0; }
#mainContent .vf-phone { text-align: center; }
#mainContent .vf-phone img { display: block; width: 100%; max-width: 240px; height: auto; margin: 0 auto; border: 6px solid var(--panel, #0B0C10); border-radius: 26px; box-shadow: 0 20px 40px -24px rgba(20,22,27,.45); }
#mainContent .vf-phone p.vf-caption { text-align: center; margin-top: 12px; }

#mainContent .vf-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 28px; }
#mainContent .vf-shot--narrow { margin-top: 8px; }

#mainContent .vf-plans .vf-card { padding: 30px 28px 26px; }
#mainContent .vf-plan__limit { font-size: 19px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.35; color: var(--text, #14161B); margin: 4px 0 20px; }

#mainContent .vf .vf-card h2.vf-h2-sm { font-size: 26px; letter-spacing: -0.028em; margin-bottom: 14px; }
#mainContent .vf-card .vf-eyebrow { margin-bottom: 12px; }
#mainContent .vf-card .vf-list { margin-bottom: 0; }

#mainContent .vf-faqs { border-top: 1px solid var(--hairline, #E7E9EF); }
#mainContent .vf-faq { padding: 24px 2px; border-bottom: 1px solid var(--hairline, #E7E9EF); }
#mainContent .vf .vf-faq h3 { font-size: 18.5px; margin-bottom: 8px; }
#mainContent .vf-faq p { margin: 0; font-size: 15.5px; }
#mainContent .vf-uninstall { margin-top: 48px; }
#mainContent .vf-uninstall p { margin-bottom: 0; }
#mainContent .vf h2.vf-cta__title { color: #fff; font-size: 34px; margin: 0 0 12px; }

@media (max-width: 1000px) {
	#mainContent .vf-hero__inner--shot,
	#mainContent .vf-guide__step--wide { grid-template-columns: 1fr; }
	#mainContent .vf-gallery { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
	#mainContent .vf .vf-guide__step h2 { font-size: 26px; }
	#mainContent .vf-phones { grid-template-columns: 1fr 1fr; gap: 14px; }
	#mainContent .vf-phone:last-child { grid-column: 1 / -1; max-width: 50%; margin: 0 auto; }
	#mainContent .vf-toc { padding: 18px 16px; }
	#mainContent .vf .vf-toc__links a { font-size: 13px; padding: 6px 10px; }
	#mainContent .vf h2.vf-cta__title { font-size: 28px; }
}

/* ---------- .vf: aire del hero en móvil (.vf-wrap anulaba el padding vertical) ---------- */
@media (max-width: 760px) {
	#mainContent .vf-hero__inner { padding-top: 36px; padding-bottom: 56px; }
}

/* ---------- Documentación del API: secciones H2 con aspecto de h3 y caja "Empieza aquí" ---------- */
h2.h2-como-h3 { color: #000; font-size: 25px; font-weight: normal; line-height: 1.2; margin: 25px 0; }
#mainContent .doc-empieza { border: 1px solid #E7E9EF; border-left: 4px solid #1B4FD8; border-radius: 10px; background: #F6F8FD; padding: 14px 18px 4px; margin: 18px 0 8px; }
#mainContent .doc-empieza p { margin: 0 0 6px; }
#mainContent .doc-empieza ul { margin: 0 0 10px; padding-left: 20px; }
#mainContent .doc-empieza li { margin-bottom: 4px; }
