/*
 Theme Name:   Adgoritmo - Foment Formacio
 Description:  Tema creado para el sitio web de Foment Formacio, basado en el tema Frost.
 Author:       Adgoritmo
 Template:     frost
 Version:      1.0.0
 Text Domain:  adgoritmo-foment-formacio
*/

:root {
  
    --color-primary: #b22a22;
    --color-primary-dark: #8b1a17;

    --color-bg-light: #f4f7f9;
    --color-bg-white: #ffffff;
    --color-text: #333333;
    --color-text-muted: #999999;
    --color-border: #e0e0e0;

    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);

    --radius-sm: 4px;
    --radius-md: 8px;

    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;

    --font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}


figure img{
	width: stretch;
}

.wp-block-image:not(.acreditaciones *).size-full, 
.wp-block-image:not(.acreditaciones *).size-large, 
.wp-block-image:not(.acreditaciones *).size-medium, 
.wp-block-image:not(.acreditaciones *).size-thumbnail {
    display:flex;
    min-height: 100%;
}

a:hover {
	opacity:0.8;
}

.wp-block-accordion-heading__toggle {
    padding: 20px;
    border-radius: 8px;
    border: 1px solid var(--wp--preset--color--neutral);
}

.wp-block-accordion .wp-block-paragraph {
    padding: 0px 20px;
}

button[aria-expanded="true"] .wp-block-accordion-heading__toggle-title {
  color: var(--wp--preset--color--primary); ;
}

.wp-block-accordion-heading__toggle[aria-expanded="true"] {
    background: var(--wp--preset--color--neutral);
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
    text-decoration: none !important;
}


header .wp-block-button .wp-block-button__link {
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
    border-bottom-left-radius: 100px;
    border-bottom-right-radius: 100px;
    border-top-width: 0px;
    border-top-style: none;
    border-right-width: 0px;
    border-right-style: none;
    border-bottom-width: 0px;
    border-bottom-style: none;
    border-left-width: 0px;
    border-left-style: none;
    padding-top: 10px;
    padding-right: 25px;
    padding-bottom: 10px;
    padding-left: 25px;
}

header .is-content-justification-space-between{
	 justify-content: space-between;
}

header .wp-block-navigation {
    font-size: var(--wp--preset--font-size--small);
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--primary) !important;
	border-radius: 30px;
}

.wpml-language-switcher-block .wpml-ls-dropdown li.open-on-hover-click:focus-within>.wp-block-navigation__submenu-container {
    display: flex !important;
}

.wpml-language-switcher-block .wpml-ls-dropdown ul li.wp-block-navigation-submenu ul.isHorizontal li {
	padding: 10px 0px;
	background:none;
}

.wpml-ls-dropdown .wp-block-navigation__container .wp-block-navigation-item.has-child ul.wp-block-navigation__submenu-container.isHorizontal {
    min-width:inherit !important;
}


.user-distri{
    display: flex;
    flex-direction: column;
}


.avatar {
    cursor: pointer;
    background: var(--wp--preset--color--primary);
    color: white;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.div-bnt-entrar{
	display:flex;
}

.btn-entrar {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 5px;
}

.btn-entrar svg {
	width: 20px;
}

.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container{
    min-width: 255px;
}

.wp-block-navigation:not(.wpml) .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container      {
       min-width: 255px !important;
       z-index:99;
}
    
.wpml-language-switcher-block .wp-block-navigation__submenu-container{
	left: -20px !important;
}
	

.dropdown-filter {
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
}

.dropdown {
  position: relative;
  width: 164px;
  filter: url(#goo);
	z-index:99;
}

.dropdown__face,
.dropdown__items {
  background-color: var(--wp--preset--color--primary);
  border-radius: 25px;
}

.dropdown__face {
    display: flex;
    position: relative;
    cursor: pointer;
    border-radius: 99px;
    padding: 5px 10px;
    justify-content: space-evenly;
}
.dropdown__face svg {
    width: 20px;
    color: white;
}

.dropdown__text{
	display: flex;
    align-items: center;
    gap: 5px;
    flex-direction: row;
    flex-wrap: nowrap;
	text-decoration:none;
}

.dropdown__text p{
	margin: 7px 0px;
}

.dropdown__text span{
	font-size: 16px;
	text-transform: capitalize;
	color: white;
	font-weight: 500;
	text-decoration:none;
}

.dropdown__items {
  padding: 15px;
  margin: 0;
  position: absolute;
  right: 2.5%;
  top: 70%;
  width: 95%;
  list-style: none;
  display: flex;
  flex-direction: column; 
  gap: 10px; 
  visibility: hidden;
  z-index: -1;
  opacity: 0;
  transform: translateY(35px);
  background: var(--wp--preset--color--primary);
  transition: all 0.2s cubic-bezier(0.93, 0.88, 0.1, 0.8);
}

.dropdown__items::before {
  content: "";
  background-color: var(--wp--preset--color--primary);
  position: absolute;
  bottom: 92%;
  right: 20%;
  height: 40px;
  width: 60%;
}

.dropdown__items li{
	color:white ;
	display:flex;
	flex-direction:row;
	align-items: center;
	gap: 5px;
}

.dropdown__items li a{
	color:white ;
	font-size: 15px;
	text-decoration:none;
}

.dropdown__items li:last-child{
	border-top: 1px solid white;
	padding-top: 10px;
}

.dropdown__items li svg{
	width: 20px;
}

.dropdown__arrow {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 30px;
  width: 10px;
  height: 10px;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: right;
}

.dropdown:hover .dropdown__items {
  visibility: visible;
  opacity: 1;
}

.i-person a, .i-person{
	display:flex;
	gap: 10px;
    flex-direction: row;
    align-items: center;
}

.i-person a:before{
	content:"";
	display:block;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="18" viewBox="0 0 17 18" fill="none"><path d="M8.2 7.4C9.96731 7.4 11.4 5.96731 11.4 4.2C11.4 2.43269 9.96731 1 8.2 1C6.43269 1 5 2.43269 5 4.2C5 5.96731 6.43269 7.4 8.2 7.4Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M15.4 16.9998C15.4 15.0902 14.6414 13.2589 13.2912 11.9086C11.9409 10.5584 10.1096 9.7998 8.2 9.7998C6.29044 9.7998 4.45909 10.5584 3.10883 11.9086C1.75857 13.2589 1 15.0902 1 16.9998H15.4Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	height: 18px;
	width: 17px;
}

.btn-flecha a, .btn-flecha-blanco a{
	display: flex !important;
    align-items: center;
	gap:10px;
}

.btn-flecha a:after{
	content:"";
	display:block;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="8" viewBox="0 0 20 8" fill="none"><path d="M19.44 3.4575C19.4 3.3675 19.35 3.2875 19.28 3.2175L16.28 0.2175C15.99 -0.0725 15.51 -0.0725 15.22 0.2175C14.93 0.5075 14.93 0.987499 15.22 1.2775L16.94 2.9975H0.75C0.34 2.9975 0 3.3375 0 3.7475C0 4.1575 0.34 4.4975 0.75 4.4975H16.94L15.22 6.2175C14.93 6.5075 14.93 6.9875 15.22 7.2775C15.37 7.4275 15.56 7.4975 15.75 7.4975C15.94 7.4975 16.13 7.4275 16.28 7.2775L19.28 4.2775C19.35 4.2075 19.4 4.1275 19.44 4.0375C19.52 3.8575 19.52 3.6475 19.44 3.4675V3.4575Z" fill="%23262626"/></svg>');
	height: 8px;
	width: 20px;
}

.btn-flecha-blanco a:after{
	content:"";
	display:block;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="8" viewBox="0 0 20 8" fill="none"><path d="M19.44 3.4575C19.4 3.3675 19.35 3.2875 19.28 3.2175L16.28 0.2175C15.99 -0.0725 15.51 -0.0725 15.22 0.2175C14.93 0.5075 14.93 0.987499 15.22 1.2775L16.94 2.9975H0.75C0.34 2.9975 0 3.3375 0 3.7475C0 4.1575 0.34 4.4975 0.75 4.4975H16.94L15.22 6.2175C14.93 6.5075 14.93 6.9875 15.22 7.2775C15.37 7.4275 15.56 7.4975 15.75 7.4975C15.94 7.4975 16.13 7.4275 16.28 7.2775L19.28 4.2775C19.35 4.2075 19.4 4.1275 19.44 4.0375C19.52 3.8575 19.52 3.6475 19.44 3.4675V3.4575Z" fill="%23ffffff"/></svg>');
	height: 8px;
	width: 20px;
}

.i-calendar {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="22" viewBox="0 0 20 22" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.7503 0C14.1643 0.000113022 14.5002 0.335952 14.5003 0.75V2.00056H16.7503C18.2688 2.00071 19.4998 3.23172 19.5 4.75028V18.7508C19.4997 20.2693 18.2688 21.5004 16.7503 21.5006H2.74972C1.23123 21.5004 0.000264132 20.2693 0 18.7508V4.75028C0.000150735 3.23172 1.23116 2.00071 2.74972 2.00056H4.99972V0.75C4.99983 0.335952 5.33567 0.000113022 5.74972 0C6.16386 0 6.49961 0.335883 6.49972 0.75V2.00056H13.0003V0.75C13.0004 0.335883 13.3361 0 13.7503 0ZM1.5 9.50056V18.7508C1.50026 19.4409 2.05966 20.0004 2.74972 20.0006H16.7503C17.4403 20.0004 17.9997 19.4409 18 18.7508V9.50056H1.5ZM2.74972 3.50056C2.05959 3.50071 1.50015 4.06014 1.5 4.75028V8.00056H18V4.75028C17.9998 4.06014 17.4404 3.50071 16.7503 3.50056H14.5003V4.75028C14.5001 5.16429 14.1643 5.50017 13.7503 5.50028C13.3362 5.50028 13.0004 5.16436 13.0003 4.75028V3.50056H6.49972V4.75028C6.49957 5.16436 6.16384 5.50028 5.74972 5.50028C5.3357 5.50017 4.99987 5.16429 4.99972 4.75028V3.50056H2.74972Z" fill="%2380001C"/></svg>');
	width:22px;
	height:20px;
}

.i-grupo {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="20" viewBox="0 0 24 20" fill="none"><path d="M12.75 12C14.0097 12.0001 15.2183 12.5004 16.1091 13.3912C16.9997 14.282 17.5003 15.4906 17.5003 16.7503V18.75C17.5003 19.1641 17.1643 19.4997 16.7503 19.5C16.3361 19.5 16.0003 19.1642 16.0003 18.75V16.7503C16.0003 15.8884 15.6571 15.0612 15.0477 14.4517C14.4383 13.8425 13.6117 13.5001 12.75 13.5H4.75028C3.88838 13.5 3.06121 13.8423 2.45173 14.4517C1.84224 15.0612 1.5 15.8883 1.5 16.7503V18.75C1.5 19.1641 1.16412 19.4999 0.75 19.5C0.335786 19.5 1.10474e-07 19.1642 0 18.75V16.7503C0 15.4905 0.500385 14.282 1.39118 13.3912C2.28197 12.5005 3.49055 12 4.75028 12H12.75Z" fill="%2380001C"/><path d="M19.0229 12.6922C19.1264 12.2913 19.536 12.0499 19.9369 12.1532C20.9558 12.4162 21.8586 13.0108 22.5033 13.8424C23.1481 14.6741 23.4986 15.697 23.4994 16.7494V18.75C23.4993 19.1641 23.1636 19.5 22.7494 19.5C22.3355 19.4998 21.9996 19.164 21.9994 18.75V16.7503C21.9989 16.0302 21.7592 15.3305 21.3181 14.7614C20.8769 14.1925 20.259 13.7863 19.5619 13.6063C19.1611 13.5026 18.9194 13.0932 19.0229 12.6922Z" fill="%2380001C"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.74972 0C11.3729 0.000150862 13.4992 2.12702 13.4992 4.75028C13.499 7.37341 11.3729 9.49957 8.74972 9.49972C6.12656 9.49961 3.99959 7.37343 3.99944 4.75028C3.99944 2.127 6.12646 0.000113108 8.74972 0ZM8.74972 1.5C6.95489 1.50011 5.49944 2.95542 5.49944 4.75028C5.49959 6.54501 6.95498 7.99961 8.74972 7.99972C10.5444 7.99957 11.999 6.54498 11.9992 4.75028C11.9992 2.95545 10.5445 1.50015 8.74972 1.5Z" fill="%2380001C"/><path d="M15.0234 0.693917C15.1263 0.292933 15.5347 0.0505969 15.9358 0.153181C16.9574 0.414795 17.8631 1.00931 18.5098 1.84235C19.1564 2.67536 19.5074 3.69998 19.5075 4.75446C19.5075 5.80903 19.1563 6.83431 18.5098 7.66741C17.8631 8.50037 16.9573 9.09496 15.9358 9.35658C15.5347 9.45915 15.1262 9.21699 15.0234 8.81585C14.9209 8.41466 15.163 8.00618 15.5642 7.90346C16.2631 7.72441 16.8829 7.31743 17.3253 6.74749C17.7676 6.17751 18.0075 5.47591 18.0075 4.75446C18.0074 4.03316 17.7676 3.33212 17.3253 2.76228C16.8829 2.19236 16.2631 1.78534 15.5642 1.60631C15.163 1.50358 14.9208 1.09513 15.0234 0.693917Z" fill="%2380001C"/></svg>');
	width:24px;
	height:20px;
}

.i-guardar {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="20" viewBox="0 0 16 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.8864 0.00334821C13.566 0.037079 14.211 0.321919 14.6945 0.805246C15.2101 1.3209 15.4996 2.02048 15.4997 2.74972V18.75C15.4997 19.0309 15.3427 19.2886 15.0929 19.4171C14.8433 19.5454 14.5429 19.5233 14.3145 19.3602L7.74944 14.671L1.1861 19.3602C0.957542 19.5234 0.656541 19.5456 0.406808 19.4171C0.157101 19.2885 2.28371e-07 19.0309 0 18.75V2.74972C7.38598e-05 2.02053 0.289652 1.32089 0.805245 0.805246C1.32086 0.289636 2.02055 0.000129223 2.74972 0H12.75L12.8864 0.00334821ZM2.74972 1.5C2.41838 1.50013 2.1001 1.63149 1.86579 1.86579C1.6315 2.10014 1.50007 2.41835 1.5 2.74972V17.2919L7.31417 13.1401L7.41546 13.079C7.66076 12.9566 7.95729 12.9771 8.18555 13.1401L13.9997 17.2919V2.74972C13.9996 2.4183 13.8683 2.10015 13.6339 1.86579C13.4289 1.66089 13.1598 1.53432 12.8739 1.50586L12.75 1.5H2.74972Z" fill="%2380001C"/></svg>');
	width:16px;
	height:20px;
}

@media (max-width: 1070.40px) {
.dropdown {
    position: fixed;
    bottom: 0;
    width: 100%;
    margin: auto !important;
    right: 0;
    left: 0;
    padding: 15px 50px;
    max-width: 324px;
}

.dropdown__arrow {
    transform: rotate(
225deg) translateY(-50%);
    top: 13px;
}

.dropdown__items {
    top: -275%;
}


.dropdown__items::before {
    top: 98%;
}

.wp-block-site-logo .custom-logo-link {
    display: inline-block;
    width: 117px;
    overflow: hidden;
    vertical-align: middle;
}

.wp-block-site-logo .custom-logo {
    width: 214px;
    object-fit: cover;
    object-position: left center;
    max-width: none;
}

header .wp-container-core-group-is-layout-c7ebd8d6{
	gap:15px;
}

.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close {
	border: none !important;
}


.has-background .wp-block-navigation__responsive-container-open:focus, .has-background .wp-block-navigation__responsive-container-open:hover{
	color:var(--wp--preset--color--contrast) !important;
	}
	
}

:root {
    --foment-red: #C1002B;
    --foment-red-rgb: 193, 0, 43;
    --foment-bg: #F8F5F6;
    --text-main: #262626;
    --text-slate: #475569;
    --text-light: #94A3B8;
    --text-heading: #0F172A;
    --text-meta: #64748B;
    --input-border: #c4c7c7;
    --card-border: #E2E8F0;

    --ins-accent: #ba0029;
    --ins-border: #e2e2e2;
    --ins-bg-muted: #f3f3f3;
    --ins-success: #31e193;
    --ins-success-text: #002111;
    --text-subtle: #747878;
    --text-body-alt: #444748;
    --heading-black: #111;
}

.main-curso,
.archive-cursos {
    background-color: var(--foment-bg);
    padding: 32px;
    font-family: 'Raleway', sans-serif;
}

.hero-curso {
    background: #FFFFFF;
    border: 1px solid #F7F7F7;
    border-radius: 8px;
    margin-bottom: 40px;
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.hero-curso__gradient {
    height: 290px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.75) 29.33%, rgba(var(--foment-red-rgb), 0.15) 100%), url('path-to-bg.png');
    background-size: cover;
}

.hero-curso__container {
    padding: 32px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
	margin:auto;
	max-width: 1440px;
}

.hero-curso__info{
	max-width:812px;
}

.hero-curso__title {
    font-weight: 800;
    font-size: 36px;
    color: var(--text-main);
    margin: 16px 0;
}

.hero-curso__badge {
    background: rgba(var(--foment-red-rgb), 0.1);
    color: var(--foment-red);
    padding: 12px 30px;
    border-radius: 18px;
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
}

.hero-curso__availability{
	display: flex;
    flex-direction: column;
    align-items: flex-end;
	margin-bottom:32px;
}

.availability__count{
	color:var(--foment-red);
	font-size:24px;
	font-weight:bold;
	line-height: 100%;
}

.availability__total{
	color:#94A3B8;
	font-size:18px;
	font-weight:bold;
}

.hero-curso__action-box{
    max-width: 430px;
    width: 100%;
}

.btn-enroll {
    background: var(--foment-red);
    color: #FFFFFF;
    padding: 16px 32px;
    border-radius: 100px;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: none;
    cursor: pointer;
    width: stretch;
    justify-content: center;
}

.btn-enroll::after{
    content:"";
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M12.175 9H0V7H12.175L6.575 1.4L8 0L16 8L8 16L6.575 14.6L12.175 9Z" fill="white"/></svg>');
    height: 16px;
    width: 16px;
}

.btn-enroll--edit {
    background: #1E293B;
}

.btn-enroll--confirmed {
    background: rgba(15, 23, 42, 0.08);
    color: #1E293B;
    cursor: default;
}

.btn-enroll--confirmed::after {
    display: none;
}

.curso-layout {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    gap: 32px;
    max-width: 1440px;
    margin: 0 auto;
}

.curso-layout__content, .curso-layout__sidebar{
	display: flex;
    gap: 32px;
    flex-direction: column;
}



@media (max-width: 1024px) {
    .curso-layout {
		display:flex;
        flex-direction: column; 
        width: 100%;
		gap: 32px;
    }
}
.card-curso, .sidebar-card {
    background: #FFFFFF;
    border: 1px solid #F7F7F7;
    border-radius: 8px;
    padding: 32px;
}

.card-curso__header, .badge-requirement {
	display: flex;
    align-items: center;
    gap: 10px;

}

.badge-requirement {
    padding: 8px;
    background: #F7F7F7;
}

.badge-requirement__icon {
    height: 22px;
}

.card-curso__header h2 {
	font-size:20px;
	font-weight:bold;
	margin:0px;
}

.sidebar-card--highlight {
    background: rgba(var(--foment-red-rgb), 0.05);
    border: 1px solid rgba(var(--foment-red-rgb), 0.2);
}

.sidebar-card__title {
    font-size: 14px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--text-light);
	margin:0;
	font-weight:bold;
}

.sidebar-card--highlight .sidebar-card__title {
    color: var(--foment-red);
}

.detail-item {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

.detail-item__texts a {
    text-decoration: none;
    color: var(--text-main);
    font-weight: 600;
    font-size: 16px;
}

.detail-item label {
    display: block;
    font-size: 12px;
    color: var(--text-meta);
	line-height:100%;
}

.detail-item span {
    font-weight: 600;
    font-size: 16px;
    color: var(--text-main);
}

.detail-item__icon {
    width: 20px;
    height: 20px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border-radius: var(--radius-md);
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
    font-family: var(--font-family);
    text-align: center;
}

.btn--primary {
    background-color: var(--color-primary);
    color: var(--color-bg-white);
}

.btn--primary:hover {
    background-color: var(--color-primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn--secondary {
    background-color: var(--color-primary);
    color: var(--color-bg-white);
}

.btn--secondary:hover {
    background-color: var(--color-primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn--outline {
    background-color: transparent;
    color: var(--color-primary);
    border: 2px solid var(--color-primary);
}

.btn--outline:hover {
    background-color: var(--color-primary);
    color: var(--color-bg-white);
}

.btn--full {
    width: 100%;
}

@media (max-width: 1024px) {
    .single-curso__main {
        grid-template-columns: 1fr;
    }
    
    .single-curso__sidebar {
        order: -1;
    }
}

@media (max-width: 768px) {
    .single-curso__hero {
        height: 300px;
    }
    
    .single-curso__title {
        font-size: 2rem;
    }
    
    .single-curso__hero-content {
        padding: 25px;
    }
    
    .single-curso__info-bar {
        flex-direction: column;
        margin-top: -40px;
        padding: 20px;
    }
    
    .info-bar__item {
        min-width: 100%;
    }
    
    .single-curso__tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    
    .tab-btn {
        white-space: nowrap;
        padding: 10px 15px;
        font-size: 0.9rem;
    }
    
    .single-curso__content {
        padding: 20px;
    }
    
    .
	-card {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .single-curso__hero {
        height: 250px;
    }
    
    .single-curso__title {
        font-size: 1.6rem;
    }
    
    .single-curso__category {
        font-size: 1rem;
    }
    
    .single-curso__container {
        padding: 20px 15px;
    }
    
    .horario-grid {
        grid-template-columns: 1fr;
    }
    
    .single-curso__features {
        flex-direction: column;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.single-curso__content,
.single-curso__sidebar,
.single-curso__info-bar,
.single-curso__related {
    animation: slideUp 0.5s ease forwards;
}

.single-curso__sidebar { animation-delay: 0.1s; }
.single-curso__info-bar { animation-delay: 0.2s; }
.single-curso__related { animation-delay: 0.3s; }

.single-curso__main-wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 32px;
    padding: 32px;
    max-width: 1400px;
    margin: 0 auto;
}
.btn-back{
    text-decoration: none;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    gap: 5px;
}
.single-curso__content-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.single-curso__sidebar-column {
    width: 355px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}



.card-section {
    background: var(--color-bg-white);
    box-shadow: var(--shadow-sm);
    border-radius: var(--radius-md);
    outline: 1px var(--color-border) solid;
    outline-offset: -1px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 23px;
}

.card-section__header {
    display: flex;
    align-items: center;
    gap: 8px;
}

.card-section__icon {
    width: 20px;
    height: 20px;
    background: var(--color-primary);
}

.card-section__icon--small {
    width: 16px;
    height: 20px;
}

.card-section__title {
    color: var(--color-text);
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 28px;
    letter-spacing: 1px;
    margin: 0;
}

.card-section__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.card-section__content strong,
.card-section__content span {
    color: #374151;
    font-size: 16px;
    line-height: 25.60px;
    font-weight: 700;
}

.card-section__empty {
    color: var(--color-text-muted);
    font-style: italic;
}

.sidebar-card {
    position: relative;
    background: var(--color-bg-white);
    border-radius: var(--radius-md);
    outline: 1px var(--color-border) solid;
    outline-offset: -1px;
    box-shadow: var(--shadow-md);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sidebar-card__details {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.sidebar-card__section-title {
    color: #94A3B8;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 20px;
    letter-spacing: 1.40px;
    margin: 0;
}

.detail-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.detail-item__marker {
    width: 14px;
    height: 20px;
    outline: 2px solid var(--color-primary);
    outline-offset: -1px;
    flex-shrink: 0;
}

.detail-item__marker--square {
    width: 18px;
    height: 20px;
    background: var(--color-primary);
    outline: none;
}

.detail-item__marker--circle {
    width: 18.75px;
    height: 18.75px;
    outline: 1.50px var(--color-primary) solid;
    outline-offset: -0.75px;
    border-radius: 50%;
}

.detail-item__content {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.detail-item__label {
    color: var(--text-meta);
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}

.detail-item__value {
    color: var(--color-text);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}

.sidebar-card--highlight {
    background: rgba(var(--foment-red-rgb), 0.05);
    outline: 1px rgba(var(--foment-red-rgb), 0.20) solid;
    padding-top: 24px;
    padding-bottom: 40px;
}

.sidebar-card--highlight .sidebar-card__section-title {
    color: var(--color-primary);
}

.sidebar-card__requirement {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    background: var(--color-bg-light);
    border-radius: var(--radius-sm);
}

.sidebar-card__requirement-marker {
    width: 20px;
    height: 20px;
    outline: 2px solid var(--color-primary);
    outline-offset: -1px;
    flex-shrink: 0;
}

.sidebar-card__requirement-text {
    color: var(--color-primary);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 16px;
}

.sidebar-card__text {
    color: #374151;
    font-size: 16px;
    font-weight: 400;
    line-height: 25.60px;
}

.sidebar-card__text p {
    margin: 0;
}

@media (max-width: 1024px) {
    .single-curso__main-wrapper {
        flex-direction: column;
        align-items: stretch;
        padding: 20px;
    }

    .single-curso__sidebar-column {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .card-section {
        padding: 24px;
    }

    .card-section__title {
        font-size: 18px;
        line-height: 24px;
    }

    .sidebar-card__text,
    .card-section__content strong,
    .card-section__content span {
        font-size: 14px;
        line-height: 22px;
    }
}

.archive-cursos {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #F8F5F6;
    padding: 0 80px;
    width: 100%;
}

.archive-main-wrapper {
    display: flex;
    flex-direction: row;
    gap: 32px;
    width: 100%;
    max-width: 1440px;
    padding: 32px 0;
}

#cursos-filter-form{
    gap: 20px;
    display: flex;
    flex-direction: column;
}

.filters-sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 25%;
    height: 100%;
}

.filters-header {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 28px;
}

.filters-header__icon {
    width: 18px;
    height: 18px;
}

.filters-header__title {
    font-weight: 700;
    font-size: 18px;
    color: var(--text-heading);
}

.filters-header__toggle-icon {
    display: none;
}

.filter-box {
    background: #FFFFFF;
    border: 1px solid var(--card-border);
    border-radius: 8px;
    padding: 16px;
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.05);
}

.filter-box__title {
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    color: var(--text-meta);
    margin-bottom: 16px;
    letter-spacing: 0.7px;
}

.filter-search-input input,
.filter-input-small input,
.filter-input {
    width: 100%;
    background: #fff;
    border: 1px solid var(--input-border);
    border-radius: 4px;
    padding: 12px 16px;
    font-size: 15px;
    font-family: inherit;
    color: #1a1c1c;
    outline: none;
    transition: border 0.15s;
    box-sizing: border-box;
}

.filter-search-input input:focus,
.filter-input-small input:focus,
.filter-input:focus {
    border: 2px solid var(--text-main);
    padding: 11px 15px;
}

.filter-date-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.filter-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-heading);
}

.filter-checkbox input {
    width: 16px;
    height: 16px;
    border: 1px solid #CBD5E1;
    border-radius: 2px;
}

.btn-download-pdf {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--foment-red);
    font-weight: 700;
    font-size: 14px;
    transition: background 0.15s;
}

.btn-download-pdf:hover {
    text-decoration: underline;
}

.header-total_cursos{
	font-size: 14px;
	color: var(--text-meta);
	
}
.course-grid-section {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.grid-header {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.grid-header__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.filter-orderby {
    background: #fff;
    border: 1px solid var(--input-border);
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 14px;
    font-family: inherit;
    color: #1a1c1c;
    cursor: pointer;
    outline: none;
    transition: border 0.15s;
    width: 150px;
}

.filter-orderby:focus {
    border: 2px solid var(--text-main);
    padding: 7px 11px;
    width: 150px;
}

.grid-header__count {
    color: var(--text-meta);
    font-size: 14px;
}

.grid-header__title {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-heading);
	margin: 5px 0px;
}

.course-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.course-card {
    background: #FFFFFF;
    border: 1px solid var(--card-border);
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.2s;
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.05);
	max-width: 340px;
}

.course-card__image {
    height: 164px;
    background-size: cover;
    position: relative;
    padding: 12px;
}

.badge {
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    color: white;
    margin-bottom: 8px;
    display: inline-block;
}

.badge--available { background: #22C55E; }
.badge--full { background: #C52222; }
.badge--modality { background: rgba(15, 23, 42, 0.8); backdrop-filter: blur(2px); }

.course-card__content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.course-card__title {
    font-size: 18px;
    line-height: 22px;
    color: var(--text-heading);
    min-height: 88px;
}

.course-card__footer {
    border-top: 1px solid #F1F5F9;
    padding-top: 8px;
}

.seats-label {
    font-weight: 700;
    font-size: 11px;
    color: var(--foment-red);
    display: block;
    line-height:12px;
 }
.seats-total { 
	font-size: 11px; 
	color: #94A3B8;
	line-height:12px;
}

.seats-full{
    font-size: 14px;
    font-weight: bold;
    width: max-content;
    color: #94A3B8;
}

.btn-card {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 36px;
    background: var(--foment-red);
    border-radius: 100px;
    color: white;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px !important;
    margin-top: 16px;
    border: none;
    cursor: pointer;
    width: 100%;
}

.btn-fav--active {
    background: rgba(var(--foment-red-rgb), 0.08) !important;
    color: var(--foment-red) !important;
    border: 1px solid rgba(var(--foment-red-rgb), 0.3) !important;
}

.btn-fav--loading {
    opacity: 0.6;
    cursor: wait !important;
}

.pagination-container {
    display: flex;
    padding: 25px;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
}

.page-numbers.current {
    border: none;
    background: var(--foment-red);
    color: #ffffff;
    font-weight: bold;
}

.page-numbers {
    border: 1px var(--card-border) solid;
    width: 40px;
    height: 40px;
    display: flex;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    font-size: 16px;
    font-weight: normal;
}

.page-numbers.dots {
    border: none;
    color: #94A3B8;
}

.pagination ul {
    display: flex;
    gap: 8px;
    list-style: none;
    justify-content: center;
}

.pagination li a, .pagination li span {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--card-border);
    border-radius: 4px;
    color: var(--text-heading);
    text-decoration: none;
}

.pagination li span.current {
    background: var(--foment-red);
    color: white;
    border-color: var(--foment-red);
}

.prev.page-numbers{
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="12" viewBox="0 0 8 12" fill="none"><path d="M6 12L0 6L6 0L7.4 1.4L2.8 6L7.4 10.6L6 12Z" fill="%2364748B"/></svg>');
	background-repeat: no-repeat;
    background-position: center;
}

.next.page-numbers {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="12" viewBox="0 0 8 12" fill="none"><path d="M4.6 6L0 1.4L1.4 0L7.4 6L1.4 12L0 10.6L4.6 6Z" fill="%2364748B"/></svg>');
	background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 1024px) {
    .archive-main-wrapper { flex-direction: column; width: 100%; }
    .filters-sidebar { width: 100%; }
    .course-grid { grid-template-columns: repeat(2, 1fr); }

    .filters-header {
        cursor: pointer;
        justify-content: space-between;
        user-select: none;
    }

    .filters-header__toggle-icon {
        display: flex;
        align-items: center;
        margin-left: auto;
        transition: transform 0.25s ease;
    }

    .filters-sidebar.is-open .filters-header__toggle-icon {
        transform: rotate(180deg);
    }

    #cursos-filter-form {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transition: max-height var(--transition-normal), opacity 0.2s ease;
    }

    .filters-sidebar.is-open #cursos-filter-form {
        max-height: 2000px;
        opacity: 1;
    }
}

@media (max-width: 600px) {
    .course-grid { grid-template-columns: 1fr; }
}


.course-card__img, .course-card__image-wrapper{
	height: 200px;
    object-fit: cover;
    width: 100%;
}

.course-card__details{
	display: flex;
    justify-content: flex-start;
    gap: 15px;
    padding-bottom: 8px;
}
.detail-item-card{
	display: flex;
    gap: 5px;
    align-items: center;
    font-size: 14px;
    color: var(--text-slate);
    font-weight: 500;
}

.course-card__badges{
	position: relative;
    top: -190px;
    left: 10px;
	display: flex;
    flex-direction: column;
    width: fit-content;
}

.course-card__badges span{
	text-align:center;
}

.course-card__body {
    padding: 0px 20px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.course-card__title a{
	text-decoration: none;
}

.course-card__seats{
	display: flex;
    flex-direction: column;
}
.seats-count{
	font-size: 14px;
	color: var(--wp--preset--color--primary);
	font-weight: bold;
	width: max-content;
}

.form-row {
    display: flex;
    gap: 30px;
    height: 95px;
    flex-wrap: nowrap;
    align-content: stretch;
}

.form-row .wpcf7-form-control-wrap {
    width: 100%;
}

.form-row input, .wpcf7-form-control.wpcf7-textarea {
    border-radius: 6px;
}

.form-full-width {
    margin-top: 30px;
}

#user-message {
    width: 100%;        
    height: 186px;       
    box-sizing: border-box; 
    resize: none;         
}

.wpcf7-list-item {
    margin: 0 !important;
    gap: 10px;
}

.wpcf7-list-item label {
    display: flex;
    gap: 5px;
}

.wpcf7-list-item input[type="checkbox"] {
    height: 20px;
    width: 20px;
}

#boton-contacto-enviar.wp-element-button.wp-block-button__link {
    display: inline-block;
    width: 100%;            
    background-color: #c4002d !important; 
    color: #ffffff !important;
    border: none;
    padding: 15px 30px;
    font-size: 18px;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
    border-radius: 9999px !important; 
    transition: background-color var(--transition-normal);
}

#boton-contacto-enviar.wp-element-button.wp-block-button__link:hover {
    background-color: #a00024 !important;
}

.wpcf7 form .wpcf7-response-output{
    padding: 1em 1em;
    border-radius: 18px;
}

@media (max-width: 768px) {
    .form-row {
        flex-direction: column; 
        height: auto;           
        gap: 0px;              
        margin-bottom: 0px;    
    }
}

.courses-grid-layout {
    display: flex;
    flex-wrap: wrap;
    row-gap: 20px;
    justify-content: space-evenly;
}

.wp-block-custom-grid-cursos .course-card {
    max-width: 425px;
    border-radius: 24px;
}

.wp-block-custom-grid-cursos .course-card__footer {
     display:flex;
     justify-content: space-between;
     align-items: center;
     gap: 25px;
}

.wp-block-custom-grid-cursos .btn-card, .wp-block-custom-grid-cursos .detail-item-card span, .wp-block-custom-grid-cursos .course-card__title {
    font-size:20px;
}

.wp-block-custom-grid-cursos .seats-count, .wp-block-custom-grid-cursos .seats-total{
    font-size: 16px;
}

.wp-block-custom-grid-cursos .badge {
    font-size:12px;
}

.wp-block-custom-grid-cursos .btn-card {
    padding:30px 30px
}

.wp-block-custom-grid-cursos .course-card__details{
    display:flex;
    gap:45px;
    justify-content: flex-start;
    margin-bottom:25px;
}

.wp-block-custom-grid-cursos .detail-item-card svg {
    width: 28px;
    height:28px;
}

.wp-block-custom-grid-cursos .detail-item-card svg path {
    fill:#80001C;
}

@media (max-width: 545px) {
	.courses-grid-layout {
		gap:25px;
	}

    .wp-block-custom-grid-cursos .course-card__details{
        gap: 10px;
        margin-bottom: 0px;
    }

    .wp-block-custom-grid-cursos {
        padding: 0px !important;
    }

    .wp-block-custom-grid-cursos .course-card__footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
	
    .wp-block-custom-grid-cursos .course-card {
        max-width: 100%; 
        border-radius: 16px; 
    }

    .wp-block-custom-grid-cursos .seats-count, 
    .wp-block-custom-grid-cursos .seats-total, 
    .wp-block-custom-grid-cursos .btn-card, 
    .wp-block-custom-grid-cursos .detail-item-card span, 
    .wp-block-custom-grid-cursos .course-card__title {
        font-size: 14px !important;
    }
	
	.wp-block-custom-grid-cursos .btn-card {
    	padding:15px 15px;
		white-space: nowrap; 
	}

    .wp-block-custom-grid-cursos .badge {
        font-size: 11px;
        padding: 4px 8px;
    }

    .wp-block-custom-grid-cursos .detail-item-card svg {
        width: 20px;
        height: 20px;
    }
}

.form-opacidad  h2.wp-block-heading.has-max-48-font-size {
    color:white;
}

.form-opacidad  input::placeholder{
 color:white;
 opacity:0.6;
}

.form-opacidad  input, .form-opacidad textarea, .form-opacidad input:focus, .form-opacidad textarea:focus {
 border:1px solid white;
 background: transparent;
 color:white
}

.form-opacidad  .form-label-text{
 color:white;
}

.form-opacidad  .wpcf7-list-item-label{
 color: white;
}

.ins-screen {
    display: none;
    position: relative;
    width: 100%;
    min-height: 100vh;
    font-family: 'Raleway', sans-serif;
}

.ins-screen.is-open {
    display: block;
}

.ins-screen *,
.ins-screen *::before,
.ins-screen *::after {
    box-sizing: border-box;
}

.ins-target-hidden > *:not(.ins-screen) {
    display: none !important;
}

.ins-screen h1,
.ins-screen h2,
.ins-screen h3 {
    font-family: 'Raleway', sans-serif;
    margin: 0;
}

.ins-screen p {
    margin: 0;
}

.ins-screen .ins-h1 {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    font-weight: 700;
    color: var(--heading-black);
}

.ins-screen .ins-h2 {
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: -0.01em;
    font-weight: 600;
    color: var(--heading-black);
}

.ins-screen .ins-h3 {
    font-size: 22px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--heading-black);
}

.ins-screen .ins-body-md {
    font-size: 16px;
    line-height: 1.5;
    color: var(--text-body-alt);
}

.ins-screen .ins-body-lg {
    font-size: 18px;
    line-height: 1.6;
    color: var(--text-body-alt);
}

.ins-screen .ins-label {
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: var(--heading-black);
    text-transform: uppercase;
}

.ins-screen .ins-required {
    color: var(--ins-accent);
    font-size: 16px;
    line-height: 0;
}

.ins-screen .ins-label-muted {
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: var(--text-subtle);
    text-transform: uppercase;
}

.ins-screen .ins-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0px;
}

.ins-screen .ins-card {
    background: #fff;
    border-radius: 4px;
    padding: 32px;
}

.ins-screen .ins-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 24px;
    margin-bottom: 32px;
    flex-wrap: wrap;
    gap: 12px;
}

.ins-screen .ins-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-body-alt);
    font-size: 13px;
    font-weight: 600;
    padding: 8px 12px;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
    font-family: inherit;
}

.ins-screen .ins-back:hover {
    background: #eee;
    color: var(--heading-black);
}

.ins-screen .ins-stepper {
    max-width: 760px;
    margin: 0 auto 40px;
    position: relative;
}

.ins-screen .ins-stepper__row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.ins-screen .ins-stepper__line {
    position: absolute;
    top: 16px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--ins-border);
    z-index: 0;
}

.ins-screen .ins-stepper__line-active {
    position: absolute;
    top: 16px;
    left: 0;
    height: 2px;
    background: var(--text-main);
    z-index: 1;
    width: 0%;
    transition: width var(--transition-normal);
}

.ins-screen .ins-step {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.ins-screen .ins-step__circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--ins-border);
    color: var(--text-body-alt);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 13px;
    border: 4px solid #f9f9f9;
    transition: all 0.2s;
}

.ins-screen .ins-step.is-done .ins-step__circle {
    background: var(--text-main);
    color: #fff;
}

.ins-screen .ins-step.is-done .ins-step__circle .num {
    display: none;
}

.ins-screen .ins-step.is-done .ins-step__circle::after {
    content: "✓";
    font-size: 14px;
}

.ins-screen .ins-step.is-active .ins-step__circle {
    background: var(--ins-accent);
    color: #fff;
    box-shadow: 0 0 0 4px rgba(186, 0, 41, 0.15);
}

.ins-screen .ins-step__label {
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: var(--text-subtle);
    text-transform: uppercase;
    text-align: center;
}

.ins-screen .ins-step.is-active .ins-step__label {
    color: var(--ins-accent);
}

.ins-screen .ins-step.is-done .ins-step__label {
    color: var(--heading-black);
}

.ins-screen .ins-grid-12 {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 24px;
}

.ins-screen .ins-col-4 {
    grid-column: span 12;
}

.ins-screen .ins-col-8 {
    grid-column: span 12;
}

@media (min-width: 1024px) {
    .ins-screen .ins-col-4 {
        grid-column: span 4;
    }
    .ins-screen .ins-col-8 {
        grid-column: span 8;
    }
}

.ins-screen .ins-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 768px) {
    .ins-screen .ins-form-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.ins-screen .ins-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: flex-end;
}

.ins-screen .ins-field--full {
    grid-column: 1 / -1;
}

.ins-screen .ins-field--checkbox {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    grid-column: 1 / -1;
}

.ins-screen .ins-field--checkbox label {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ins-screen .ins-field--checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex: none;
}

.ins-screen .ins-checkbox-group {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 24px;
    justify-content: flex-start;
}

.ins-screen .ins-checkbox-group__question {
    flex: 1 0 100%;
    font-size: 12px;
    font-weight: 700;
    color: #1a1c1c;
}

.ins-screen .ins-checkbox-group__item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ins-screen .ins-checkbox-group__extra {
    flex: 1 0 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 320px;
}

.ins-screen .ins-checkbox-group__item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex: none;
}

.ins-screen .ins-input {
    width: 100%;
    background: #fff;
    border: 1px solid var(--input-border);
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 15px;
    font-family: inherit;
    color: #1a1c1c;
    outline: none;
    transition: border 0.15s;
}

.ins-screen select.ins-input{
    height: 52px;
}

.ins-screen .ins-input:focus {
    border: 2px solid var(--text-main);
    padding: 11px 15px;
}

.ins-screen .ins-side-hero {
    background: #fff;
    border: 1px solid var(--ins-border);
    border-radius: 4px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.ins-screen .ins-side-hero__req {
    padding: 15px;
}

.ins-screen .ins-side-hero__req h4 {
    font-family: 'Raleway', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: var(--ins-accent);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 8px;
}

.ins-screen .ins-side-hero__req .req-content {
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-body-alt);
}

.ins-screen .ins-side-hero__req .req-content p {
    margin: 0 0 6px;
}

.ins-screen .ins-curso-meta {
    background: var(--ins-bg-muted);
    border-radius: 4px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ins-screen .ins-curso-meta__row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
}

.ins-screen .ins-curso-meta__row span {
    color: var(--text-subtle);
}

.ins-screen .ins-curso-meta__row strong {
    color: var(--heading-black);
}

.ins-screen .ins-trust {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ins-screen .ins-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    border: none;
    transition: all 0.15s;
    font-family: inherit;
    line-height: 1;
}

.ins-screen .ins-btn--primary {
    background: var(--text-main);
    color: #fff;
}

.ins-screen .ins-btn--primary:hover {
    background: #000;
}

.ins-screen .ins-btn--ghost {
    background: #fff;
    color: var(--text-main);
    border: 2px solid var(--text-main);
}

.ins-screen .ins-btn--ghost:hover {
    background: var(--text-main);
    color: #fff;
}

.ins-screen .ins-btn--accent {
    background: var(--ins-accent);
    color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.ins-screen .ins-btn--accent:hover {
    background: #92001e;
}

.ins-screen .ins-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 32px;
    margin-top: 24px;
    border-top: 1px solid var(--ins-border);
    gap: 12px;
    flex-wrap: wrap;
}

.ins-screen .ins-alert {
    display: flex;
    gap: 12px;
    background: var(--ins-bg-muted);
    border-left: 4px solid var(--ins-accent);
    padding: 14px 16px;
    border-radius: 0 4px 4px 0;
    margin-top: 16px;
}

.ins-screen .ins-alert p {
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.4;
}

.ins-screen .ins-alert__icon {
    font-size: 18px;
    color: var(--ins-accent);
}

.ins-screen .ins-error {
    color: #93000a;
    background: #ffdad6;
    padding: 12px 16px;
    margin-bottom: 24px;
    border: 1px solid var(--ins-accent);
    border-radius: 4px;
    font-size: 14px;
}

.ins-screen .ins-bento {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 768px) {
    .ins-screen .ins-bento {
        grid-template-columns: repeat(2, 1fr);
    }
}

.ins-screen .ins-bento__full {
    grid-column: 1 / -1;
}

.ins-screen .ins-upload-card {
    background: #fff;
    border: 1px solid var(--input-border);
    border-radius: 4px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.ins-screen .ins-upload-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.ins-screen .ins-upload-card__title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Raleway', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--heading-black);
}

.ins-screen .ins-upload-card__icon {
    font-size: 22px;
    line-height: 1;
}

.ins-screen .ins-tag {
    font-size: 10px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ins-screen .ins-tag--required {
    background: var(--text-main);
    color: #fff;
}

.ins-screen .ins-tag--attached {
    background: var(--ins-success);
    color: var(--ins-success-text);
}

.ins-screen .ins-tag--upload {
    background: #e8e8e8;
    color: var(--text-body-alt);
}

.ins-screen .ins-upload-card__desc {
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.5;
}

.ins-screen .ins-dropzone {
    border: 2px dashed var(--input-border);
    background: #f9f9f9;
    padding: 36px 16px;
    text-align: center;
    border-radius: 4px;
    cursor: pointer;
    transition: border 0.15s, background 0.15s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-height: 170px;
    justify-content: center;
}

.ins-screen .ins-dropzone:hover {
    border-color: var(--ins-accent);
    background: #fff8f0;
}

.ins-screen .ins-dropzone.is-drag {
    border-color: var(--ins-accent);
    background: #fff8f0;
}

.ins-screen .ins-dropzone__icon {
    font-size: 42px;
    line-height: 1;
}

.ins-screen .ins-dropzone__text {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-body-alt);
}

.ins-screen .ins-dropzone__hint {
    font-size: 12px;
    color: var(--text-subtle);
}

.ins-screen .ins-dropzone input[type=file] {
    display: none;
}

.ins-screen .ins-dropzones-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 768px) {
    .ins-screen .ins-dropzones-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.ins-screen .ins-dropzone-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ins-screen .ins-files-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ins-screen .ins-file-row {
    background: var(--ins-bg-muted);
    border-radius: 4px;
    padding: 12px 14px;
    border-left: 3px solid var(--ins-success);
    display: flex;
    align-items: center;
    gap: 14px;
}

.ins-screen .ins-file-row__thumb {
    width: 38px;
    height: 38px;
    background: #fff;
    border: 1px solid var(--input-border);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 18px;
}

.ins-screen .ins-file-row__info {
    flex: 1;
    min-width: 0;
}

.ins-screen .ins-file-row__name {
    font-size: 14px;
    font-weight: 600;
    color: var(--heading-black);
    word-break: break-all;
}

.ins-screen .ins-file-row__meta {
    font-size: 12px;
    color: var(--text-subtle);
    margin-top: 2px;
}

.ins-screen .ins-file-row__remove {
    background: none;
    border: none;
    color: var(--text-subtle);
    cursor: pointer;
    font-size: 14px;
    padding: 4px 6px;
    border-radius: 3px;
    flex-shrink: 0;
    line-height: 1;
    transition: color 0.15s, background 0.15s;
}
.ins-screen .ins-file-row__remove:hover {
    color: var(--foment-red);
    background: #fdeaea;
}

.ins-screen .ins-summary {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ins-screen .ins-summary__row {
    border-left: 3px solid var(--input-border);
    padding: 6px 14px;
}

.ins-screen .ins-summary__row--accent {
    border-left-color: var(--text-main);
}

.ins-screen .ins-summary__row--green {
    border-left-color: var(--ins-success);
}

.ins-screen .ins-summary__label {
    font-size: 10px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--text-subtle);
    display: block;
    margin-bottom: 4px;
}

.ins-screen .ins-summary__value {
    font-size: 15px;
    color: var(--heading-black);
    font-weight: 600;
    line-height: 1.3;
}

.ins-screen .ins-summary__sub {
    font-size: 13px;
    color: var(--text-body-alt);
    margin-top: 2px;
}

.ins-screen .ins-status-card {
    background: var(--text-main);
    color: #fff;
    border-radius: 4px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.ins-screen .ins-status-card__label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    opacity: 0.7;
    display: block;
    margin-bottom: 4px;
}

.ins-screen .ins-status-card__title {
    font-family: 'Raleway', sans-serif;
    font-size: 20px;
    font-weight: 600;
}

.ins-screen .ins-iframe-wrap {
    position: relative;
    width: 100%;
    height: 65vh;
    min-height: 520px;
    border: 1px solid var(--input-border);
    border-radius: 4px;
    overflow: hidden;
    background: var(--ins-bg-muted);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ins-screen .ins-iframe-wrap iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}


.ins-screen .ins-iframe-placeholder {
    text-align: center;
    padding: 60px 20px;
    background: #f9f9f9;
    border: 2px dashed var(--input-border);
    border-radius: 4px;
    color: var(--text-subtle);
}

.ins-screen .ins-error-state {
    text-align: center;
    padding: 48px 24px;
    background: #fff8f8;
    border: 1px solid #fca5a5;
    border-radius: 8px;
}

.ins-screen .ins-error-state__icon {
    font-size: 40px;
    margin-bottom: 16px;
}

.ins-screen .ins-error-state p {
    color: #6b7280;
    margin: 8px 0 24px;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
}

.ins-screen .ins-error-state__actions {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.ins-screen .ins-secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--text-subtle);
    padding: 14px 0 0;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ins-screen .ins-confirm-hero {
    text-align: center;
    padding: 56px 32px;
}

.ins-screen .ins-confirm-hero__icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    background: var(--ins-success);
    color: var(--ins-success-text);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 44px;
}

.ins-screen .ins-confirm-hero__title {
    margin-bottom: 16px;
}

.ins-screen .ins-confirm-hero__sub {
    max-width: 540px;
    margin: 0 auto;
}

.ins-screen .ins-confirm-bento {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 24px;
}

@media (min-width: 768px) {
    .ins-screen .ins-confirm-bento {
        grid-template-columns: repeat(2, 1fr);
    }
}

.ins-screen .ins-ref-card {
    background: #fff;
    border: 1px solid var(--ins-border);
    border-radius: 4px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 170px;
}

.ins-screen .ins-ref-card__value {
    font-family: 'Raleway', sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--heading-black);
}

.ins-screen .ins-ref-card__foot {
    margin-top: 24px;
    padding-top: 14px;
    border-top: 1px solid var(--ins-bg-muted);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.ins-screen .ins-ref-card__date {
    font-size: 12px;
    color: var(--text-subtle);
}

.ins-screen .ins-ref-card__pill {
    padding: 4px 8px;
    background: var(--ins-bg-muted);
    color: var(--text-body-alt);
    font-size: 10px;
    font-weight: 700;
    border-radius: 4px;
    letter-spacing: 0.05em;
}

.ins-screen .ins-next-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 14px;
}

.ins-screen .ins-next-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.ins-screen .ins-next-item__bullet {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--ins-success);
    color: var(--ins-success-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    flex-shrink: 0;
    font-weight: bold;
    margin-top: 1px;
}

.ins-screen .ins-next-item__text {
    font-size: 14px;
    color: var(--text-body-alt);
    line-height: 1.5;
}

.ins-screen .ins-next-item__text strong {
    color: var(--heading-black);
    font-weight: 700;
}

.ins-screen .ins-confirm-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    padding: 32px 0;
    margin-top: 24px;
}

.ins-screen .ins-panel {
    display: none;
    animation: insFade 0.25s ease;
}

.ins-screen .ins-panel.is-active {
    display: block;
}

@keyframes insFade {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 640px) {
    .ins-screen .ins-wrap {
        padding: 0px;
    }
    .ins-screen .ins-card {
        padding: 20px;
    }
    .ins-screen .ins-h1 {
        font-size: 28px;
    }
    .ins-screen .ins-h2 {
        font-size: 22px;
    }
    .ins-screen .ins-step__label {
        font-size: 9px;
    }
    .ins-screen .ins-actions {
        flex-direction: column-reverse;
    }
    .ins-screen .ins-actions .ins-btn {
        width: 100%;
    }
    .ins-screen .ins-iframe-wrap {
        height: 60vh;
        min-height: 420px;
    }
    .ins-screen .ins-iframe-wrap.is-active {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        min-height: 420px;
        z-index: 999;
        border: none;
        border-radius: 0;
    }
    .ins-screen .ins-side-hero {
        padding: 20px;
    }
}

.ediciones-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 0;
    align-items: flex-end;
}
.edicion-tab {
    display: inline-flex;
    flex-direction: column;
    gap: 1px;
    padding: 10px 35px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    background: rgb(242 242 242);
	border-width: 1px;
	border-style:solid;
	border-color: transparent;
    color: #6B7280;
    transition: background .15s, color .15s, border-color .15s;
    cursor: pointer;
}
.edicion-tab:hover {
    background: rgb(249 229 233);
    color: var(--foment-red);
    border-color: rgba(var(--foment-red-rgb), 0.35);
}
.edicion-tab--active {
    background: rgb(249 229 233);
    color: var(--foment-red);
    border-color: transparent;
    cursor: default;
}

.edicion-tab--active:hover {
    background: rgb(249 229 233) !important;
    color: var(--foment-red);
	opacity:1 !important;
    border-color: transparent;
    cursor: default;
}

.edicion-tab--full {
    opacity: 0.7;
}

.edicion-tab__full{
    padding: 2px 20px;
    color: #c3c5cb;
}

.edicion-tab__labels{
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.edicion-tab em {
    font-style: normal;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.2;
}
.edicion-tab span {
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
}
.edicion-tab small {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #C52222;
}

@media (max-width: 640px) {
    .ediciones-tabs { gap: 6px; }
    .edicion-tab { padding: 4px 12px; }
}

@keyframes edition-in {
    from { opacity: 0; transform: translateX(8px); }
    to   { opacity: 1; transform: translateX(0); }
}

.edition-entering {
    animation: edition-in 0.22s ease forwards;
}

Footer .has-x-small-font-size a {
color: #ffffff;
}
.logos-footer, .legales-footer {
    width: 100%;
    max-width: 1440px;
    margin: 20px auto !important;
    justify-content: space-between;
}

.wp-container-core-group-is-layout-58461d75 > .alignwide {
    max-width: 1440px;
}