/* === CAJAS DE LISTA === */
.menu-list {
  display: flex;
  flex-direction: column;
  border: 1px solid #ccc;
  gap: 5px;
  max-height: 500px;
  background: #fff;
  border-radius: 6px;
  padding: 12px;
  overflow-y: auto;
  min-height: 100%;
  max-height: none;
}

#available.menu-list {
  background-color: #f6f6f6;
}

.menu-list::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.menu-list::-webkit-scrollbar-thumb {
  background-color: #999;
  border-radius: 4px;
}

/* === ITEMS DEL MENÃš === */
.menu-item {
  /*border: 1px solid #ccc;
  background: #fff;*/
  padding: 8px 16px;
  cursor: pointer;
  user-select: none;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#available .menu-item {
  padding: 8px 14px;
  font-size: 13px;
}

#selected .menu-item {
  max-width: 500px;
  padding: 10px 18px;
  font-size: 15px;
}

.menu-item.selected {
  background-color: #eef6fc;
  border-left: 4px solid #0073aa;
}

#selected .menu-item[data-level="0"] { margin-left: 0px; }
#selected .menu-item[data-level="1"] { margin-left: 30px; }
#selected .menu-item[data-level="2"] { margin-left: 60px; }
#selected .menu-item[data-level="3"] { margin-left: 90px; }
#selected .menu-item[data-level="4"] { margin-left: 120px; }
#selected .menu-item[data-level="5"] { margin-left: 150px; }

/* === CABECERA ITEM === */
.item-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.item-title {
  font-weight: bold;
  font-size: 14px;
}

.item-type {
  font-size: 12px;
  color: #666;
  font-style: italic;
}

.item-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #444;
}

.item-toggle-dropdown {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  text-shadow: 0 0 3px rgba(255, 255, 255, 0.4);
}

.item-tools button.item-toggle-dropdown {
  font-size: 12px !important;
  padding: 2px 6px !important;
  width: 30px;
  height: 30px;
  line-height: 1;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.item-tools button.item-toggle-dropdown i {
  font-size: 12px !important;
}

.item-dropdown {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #eef6fc;
  border: 1px solid #ccc;
  padding: 15px;
  margin-top: 10px;
  border-radius: 6px;
}

.item-dropdown label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
}

.item-dropdown input[type="text"],
.item-dropdown input[type="url"],
.item-dropdown input[type="color"] {
  padding: 6px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  min-width: 160px;
  font-size: 14px;
  flex: 1;
}

.item-dropdown input[type="checkbox"] {
  transform: scale(1.2);
  margin-right: 5px;
}

.item-dropdown .controller-group {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.item-dropdown .btn-action {
  padding: 4px 6px;
  font-size: 14px;
  cursor: pointer;
  color: #fff;
  border: none;
  border-radius: 4px;
  margin: 2px 0;
}

.controller-group {
  display: flex;
  flex-direction: column;
  align-items: center;


}

.controller-group button {
  margin: 0;
  padding: 5px 10px;
  border-radius: 6px;
}


.controller-group .btn-up {
  margin-bottom: 1px;
}

.controller-group .btn-down {
  margin-top: 1px;
}

.horizontal-buttons {
  display: flex;
}

.horizontal-buttons .btn-action {
  margin: 0 1px; 
}

.btn-action {
  color: white;
  border: none;
  border-radius: 6px;
  padding: 3px 7px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s ease;
}

.btn-action:active {
  background-color: #003f66;
  transform: scale(0.95);
}

.btn-action:focus {
  outline: none;
  box-shadow: none;
}

.btn-delete i {
  font-size: 20px;
  color: #d9534f;   
  transition: transform 0.2s ease;
}

.btn-delete:hover i {
  transform: scale(1.2); 
  color: #c9302c;
}

/* === FRONTEND MENÃš PRINCIPAL === */
/* === ESTILOS GLOBALES === */
.sw365-menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sw365-mega-link {
  display: block;
  text-decoration: none;
  color: #333;
  padding: 10px 15px;
  font-size: 14px;
  transition: background-color 0.3s ease;
}



/* === MENÃš VERTICAL === */
.sw365-vertical {
  display: flex;
  flex-direction: column;
  width: 220px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fff;
}

.sw365-vertical .sw365-menu-item {
  position: relative;
}

.sw365-menu-item.has-manual-submenu > .sw365-mega-submenu,
.sw365-menu-item.has-real-subcats > .sw365-mega-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  background: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 10px 15px;
  z-index: 999;
  flex-direction: column;
}

.sw365-menu-item.has-manual-submenu:hover > .sw365-mega-submenu,
.sw365-menu-item.has-real-subcats:hover > .sw365-mega-submenu {
  display: flex;
}

.sw365-mega-nested-item > .sw365-mega-submenu {
  display: none;
  position: static;
  padding: 5px 0 0 15px;
  background: none;
  border: none;
  box-shadow: none;
  flex-direction: column;
}

.sw365-mega-nested-item:hover > .sw365-mega-submenu {
  display: flex;
}

/* SOLO APLICAR A MANUAL SUBMENÃš A PARTIR DE NIVEL 3 */
/* SubmenÃºs manuales anidados a partir de nivel 3 */
.sw365-menu-item.has-manual-submenu .sw365-mega-nested-item.has-submenu > .sw365-mega-submenu {
  display: none;
  position: absolute;
  top: 0; 
  left: 100%;
  min-width: 200px;
  background: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 10px;
  z-index: 1000;
  margin-left: 5px; 
}

/* Hover para mostrar el submenÃº */
.sw365-menu-item.has-manual-submenu .sw365-mega-nested-item.has-submenu:hover > .sw365-mega-submenu {
  display: block;
}

.sw365-mega-nested-item {
  position: relative;
}

/* Mostrar todo el contenido real al hover */
.sw365-menu-item.has-real-subcats:hover .sw365-mega-submenu,
.sw365-menu-item.has-real-subcats:hover .sw365-mega-submenu .sw365-mega-submenu {
  display: flex !important;
}

.sw365-mega-link.level-1 {
  color: #000000; /* Negro puro para padres */
  font-weight: bold;
}

/* Flechita â–¼ rotada âž¤ para TODOS los Ã­tems con submenÃº */
/* .sw365-menu-item.has-submenu > a::after,
.sw365-mega-nested-item.has-submenu > a::after {
  content: "â–¼";
  display: inline-block;
  margin-left: 2px;
  font-size: 10px;
  transform: rotate(-90deg); /* âž¤
  color: #444;
  transition: transform 0.2s ease, color 0.2s ease;
} */



/* PERO: anular flecha en los hijos internos de subcategorÃ­as reales */
.sw365-menu-item.has-real-subcats > .sw365-mega-submenu .sw365-mega-link::after {
  content: none !important;
}

.sw365-vertical .sw365-mega-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
}


/* Quitar la flechita en subcategorÃ­as reales (solo en vertical tambiÃ©n) */
.sw365-vertical .sw365-menu-item.has-real-subcats > .sw365-mega-submenu .sw365-mega-link::after {
  content: none !important;
}


/* === ESTILOS HORIZONTALES === */
.sw365-horizontal {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  background: #fff;
  position: relative;
  z-index: 999;
}

.sw365-horizontal .sw365-menu-item {
  position: relative;
  width: calc(33.33% - 32px);
}


.sw365-horizontal .sw365-link {
  display: block;
  /* padding: 12px 20px; */
  text-decoration: none;
}

.sw365-horizontal .sw365-menu-item > .sw365-submenu-wrapper {
  display: block;
  opacity: 1; /* A cambiar */
  visibility: visible; /* A cambiar */
  pointer-events: auto; /* A cambiar */
}


/* Flechas solo para Ã­tems con submenÃº */
/* .sw365-horizontal .sw365-menu-item.has-submenu > a::after,
.sw365-horizontal .sw365-submenu-item.has-submenu > a::after {
  content: "â–¼";
  display: inline-block;
  margin-left: 6px;
  font-size: 12px;
  font-weight: bold;
  color: #000000;
  vertical-align: middle;
  transform: none !important;
} */

/* SUBMENÃš GENERAL */
.sw365-submenu-wrapper {
  position: relative;
  display: flex;
  background: #fff;
  border: 1px solid #ccc;
  padding: 0;
  z-index: 1000;
  gap: 0;
  max-width: 100vw;
  width: 100%;
}

/* MULTICOLUMNAS */
.columns-1 { grid-template-columns: repeat(1, 1fr); }
.columns-2 { grid-template-columns: repeat(2, 1fr); }
.columns-3 { grid-template-columns: repeat(3, 1fr); }
.columns-4 { grid-template-columns: repeat(4, 1fr); }
.columns-5 { grid-template-columns: repeat(5, 1fr); }
.columns-6 { grid-template-columns: repeat(6, 1fr); }

/* ITEMS DE SUBMENÃš */
.sw365-submenu-item {
  width: fit-content;
}

.sw365-submenu-item:last-child {
  /* max-width: 100vw; */
  /* width: calc(16.6666% - 13.32px); */
}

.sw365-submenu-item a {
  display: block;
  /* padding: 6px 10px; */
  color: rgba(10, 10, 01, 0.75) !important;
  font-size: 1rem;
  font-weight: normal;
  font-variation-settings: "wght" 700;
  transition: 0.3s color ease;
}

.sw365-submenu-item a:hover {
	color: #0A0A0A !important;
}

/* SUBSUBMENÃšS (ANIDADOS) */
.sw365-submenu-item > .sw365-submenu-wrapper {
  display: flex !important;
  flex-direction: column;
  margin-top: 10px;
  position: static;
  background: none;
  border: none;
  box-shadow: none;
  padding: 0;
}

.sw365-submenu-item > .sw365-submenu-wrapper>.sw365-submenu-item-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}


/* .sw365-submenu-wrapper .sw365-submenu-item {
  margin-left: 15px;
} */


.sw365-submenu-wrapper {
  display: flex;
}

/* .sw365-menu-item.has-submenu:hover > .sw365-submenu-wrapper {
  display: grid;
} */

/* .sw365-submenu-item.is-manual > .sw365-submenu-wrapper {
  display: none !important;
} */

.sw365-submenu-item.is-manual:hover > .sw365-submenu-wrapper {
  /* display: flex !important; */
  /* height: fit-content; */
}

.sw365-submenu-wrapper .sw365-submenu-item .sw365-submenu-wrapper .sw365-submenu-item a {
  /* color: #666; */ /* Gris medio */
  font-weight: normal;
  line-height: 1.5em;
  padding: 4px 0;
  width: fit-content;
  transition: 0.3s color cubic-bezier(0.19, 1, 0.22, 1), 0.3s text-decoration-color cubic-bezier(0.19, 1, 0.22, 1);
}

/* === ESTILO ACORDEÃ“N === */

.sw365-accordion {
	max-height: 3000px;
	height: max-content;
}

.sw365-accordion .sw365-menu-item.has-submenu:last-child {
	padding-bottom: 16px;
}

.sw365-accordion-toggle {
  cursor: pointer;
  padding: 24px 0 8px;
  font-weight: normal;
  display: block;
  /* align-items: center; */
  /* justify-content: space-between; */
}

.toggle-title {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  font-size: 24px;
}

.sw365-accordion-panel {
  display: none;
  flex-direction: column;
}

.sw365-menu-item.open .sw365-accordion-panel {
  display: flex;
}

.sw365-accordion>.sw365-menu-item>.sw365-accordion-toggle {
  border-bottom: 1px solid #f3d8cd !important;
}

.sw365-toggle-icon {
  font-size: 16px;
  height: 32px;
  width: 32px;
  transform: rotate(270deg);
  padding-left: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-right: 8px;
  margin-right: -8px;
	color: rgba(10, 10, 10, 0.75);
}

.sw365-menu-item.has-submenu.open>.sw365-accordion-toggle>.toggle-title>.sw365-toggle-icon {
  transform: rotate(315deg);
	color: #0A0A0A;
}

.sw365-accordion .toggle-title a {
	font-family: "Josefin Sans", sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: -0.25px;
	text-transform: uppercase;
	color: #0a0a0a !important;
}

.sw365-accordion-panel .toggle-title a {
	font-family: "Helvetica", sans-serif;
	font-size: 1rem !important;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: rgba(10, 10, 10, 0.75) !important;
	transition: 0.3s color ease;
}

.sw365-accordion-panel .toggle-title a:hover {
	color: #0a0a0a !important;
}

/* .sw365-accordion-toggle svg {
  font-size: 12px;
  height: 12px;
  width: 12px;
  transform: rotate(270deg);
}

.sw365-menu-item.has-submenu.open>.sw365-accordion-toggle svg {
  transform: rotate(360deg);
}*/

.sw365-sidebar-panel {
  max-width: 100%;
  /* max-height: 100vh; */
  overflow-y: auto;
  overflow-x: hidden;
  /*border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #fdfdfd;
  padding: 15px;
  box-shadow: 0 0 5px rgba(0,0,0,0.1);*/
  color: #222;
}

.sw365-sidebar-panel ul {
  list-style: none;
  padding:  0;
  margin: 0;
}

.sw365-sidebar-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
  padding-bottom: 5px;
}

.sw365-accordion-panel .sw365-accordion-toggle .sw365-category-link {
  font-size: 20px;
  line-height: 1.25em;
  padding: 12px 0;
}

.sw365-menu-item.has-submenu.open>ul.sw365-accordion-panel {
  padding: 9px 0;
}

.sw365-accordion-panel>li {
  padding: 4px 0;
}

.sw365-accordion-panel>li>.sw365-accordion-toggle,
.sw365-accordion-panel>li>.sw365-accordion-toggle .sw365-category-link {
  padding: 0;
}

.sw365-menu-item.has-submenu.open>ul.sw365-accordion-panel .sw365-menu-item.has-submenu.open>ul.sw365-accordion-panel {
  padding: 12px 0 0;
}

.sw365-menu-item.has-submenu.open>ul.sw365-accordion-panel .sw365-menu-item.has-submenu.open>ul.sw365-accordion-panel>li {
  padding-bottom: 12px;
}

.sw365-menu-item.has-submenu.open>ul.sw365-accordion-panel .sw365-menu-item.has-submenu.open>ul.sw365-accordion-panel>li .sw365-category-link {
  font-size: 18px;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-color: rgba(0, 0, 0, 0.4);
}

/* ESTILOS AÃ‘ADIDOS */

.sw365-horizontal {
  background: #FFF;
  justify-content: space-between;
}

.sw365-horizontal .sw365-link.level-1,
.sw365-horizontal .cabecera-enlaces {
	position: relative;
  font-family: "Josefin Sans", sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
  letter-spacing: -0.25px;
  text-transform: uppercase;
  color: #0a0a0a !important;
	width: fit-content;
	background-color: #FFF0;
}

/* .sw365-horizontal .sw365-link.level-1:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	z-index: -1;
	transition: 0.3s all ease
}

.sw365-horizontal .sw365-link.level-1:hover:before {
	width: 100%;
	background: #f3d8cd;
}*/

.sw365-horizontal .sw365-link.level-1,
.sw365-horizontal .sw365-html-block.level-1 {
  margin: 24px 0 8px;
}

.sw365-horizontal .sw365-menu-item>a {
	transition: 0.3s all ease;
}

.sw365-horizontal a:hover,
.sw365-horizontal a:focus,
.sw365-horizontal a:active,
.sw365-horizontal a:focus-visible {
  transition: 0.3s all ease;
}

.sw365-horizontal .subcat-header {
  font-size: 24px;
  line-height: 1.25em;
  width: fit-content;
  text-decoration: none;
  text-decoration-color: transparent;
  transition: 0.3s color cubic-bezier(0.19, 1, 0.22, 1), 0.3s text-decoration-color cubic-bezier(0.19, 1, 0.22, 1);
}

.sw365-horizontal>.sw365-menu-item>.sw365-submenu-wrapper {
  width: calc(100vw - var(--scrollbar-width));
  border: none;
  border-top: 1px solid #f3d8cd;
  overflow-y: auto;
  padding-top: 16px;
}

.mouse-down .sw365-horizontal>.sw365-menu-item>.sw365-submenu-wrapper {
	max-height: 100vh;
}

.sw365-horizontal>.sw365-menu-item>.sw365-submenu-wrapper>.container {
	/* display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-row-gap: 24px;*/
	/* grid-column-gap: 16px; */
	width: 100%;
	margin: auto;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-start;
	row-gap: 8px;
	padding:  0;
}

.sw365-link.level-2 ~ .sw365-submenu-wrapper {
  display: block !important;
}

/* .sw365-menu-item.has-submenu>.sw365-submenu-wrapper>.sw365-submenu-item-container {
  max-width: 1280px;
  width:  100%;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: 16px;
  row-gap: 24px;
} */

/* .sw365-menu-list>.sw365-menu-item.has-submenu>.sw365-submenu-wrapper>.sw365-submenu-item-container>.sw365-submenu-item {
  padding-left: 8px;
  padding-right: 8px;
}

.sw365-menu-list>.sw365-menu-item.has-submenu>.sw365-submenu-wrapper>.sw365-submenu-item-container>.sw365-submenu-item:first-child,
.sw365-menu-list>.sw365-menu-item.has-submenu>.sw365-submenu-wrapper>.sw365-submenu-item-container>.sw365-submenu-item:nth-child(6n + 1) {
	padding-left: 0;
}

.sw365-menu-list>.sw365-menu-item.has-submenu>.sw365-submenu-wrapper>.sw365-submenu-item-container>.sw365-submenu-item:nth-child(6n) {
	padding-right: 0;
} */

.sw365-menu-list>.sw365-menu-item.has-submenu>.sw365-submenu-wrapper>.sw365-submenu-item-container>.sw365-submenu-item>.sw365-submenu-wrapper .sw365-submenu-item {
  width: 100%;
  /* font-size: 18px; */
}

.sw365-horizontal .subcat-header:hover,
.sw365-submenu-wrapper .sw365-submenu-item .sw365-submenu-wrapper .sw365-submenu-item a:hover {
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 5px;
  transition: 0.3s color cubic-bezier(0.19, 1, 0.22, 1), 0.3s text-decoration-color cubic-bezier(0.19, 1, 0.22, 1);
}

.sw365-horizontal .subcat-header:has(.cabecera-enlaces-servicios) {
  text-decoration: none !important;
  color: #4c4c4c;
}

.sw365-submenu-wrapper .sw365-submenu-item .sw365-submenu-wrapper .sw365-submenu-item a:hover {
  text-decoration-thickness: 1px;
  color: #222;
}

.sw365-menu-item.has-submenu .more-links {
	width: calc(100vw - 15px);
	background: #F2F2F2;
  display: flex;
  justify-content: center;
}

.sw365-menu-item.has-submenu .more-links .container {
  max-width: 1280px;
  padding: 12px 0;
}

.sw365-menu-item.has-submenu .more-links .container a {
  padding: 12px 32px;
  color: #4c4c4c;
  font-variation-settings: "wght" 600;
  text-align: center;
  transition: color .2s cubic-bezier(.19,1,.22,1);
}

.sw365-hamburger,
.mobile-toggle-icon {
  display: none;
}

.sw365-horizontal>.has-submenu>.sw365-submenu-wrapper>.container>.sw365-submenu-item:last-child {
  grid-column: 1 / -1;
  width: calc(100vw - var(--scrollbar-width));
}

.sw365-horizontal>.has-submenu>.sw365-submenu-wrapper>.container>.sw365-submenu-item .bloque-enlaces-menu {
    display: flex;
    justify-content: center;
}

.sw365-horizontal>.has-submenu>.sw365-submenu-wrapper>.container>.sw365-submenu-item .bloque-enlaces-menu a {
  padding: 12px 32px;
  color: #4c4c4c;
  background: transparent;
  font-variation-settings: "wght" 600;
  transition: color .2s cubic-bezier(.19,1,.22,1);
  position: relative;
  display: block;
}

.sw365-horizontal>.has-submenu>.sw365-submenu-wrapper>.container>.sw365-submenu-item .bloque-enlaces-menu a:after {
  background: #000 !important;
  bottom: 0;
  content: "";
  height: 2px;
  left: 50%;
  opacity: 0;
  position: absolute;
  transform: translateX(-50%);
  transition: width .3s ease, opacity .3s ease;
  width: 0%;
}

.sw365-horizontal>.has-submenu>.sw365-submenu-wrapper>.container>.sw365-submenu-item .bloque-enlaces-menu a:hover:after {
  width: 100%;
  opacity: 1;
}

.sw365-horizontal .has-submenu .sw365-submenu-wrapper .container .sw365-submenu-item:has(.bloque-imagen) {
	width: calc(33.33333% - 10.62px);
}

.sw365-horizontal .has-submenu .sw365-submenu-wrapper .container .sw365-submenu-item:has(.bloque-imagen) img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}